Organization purely. You can mark different Pokemon however you want, and whenever you see that mark in your PC, you know what kind of Pokemon it is, depending on what you want that mark to be.
For example, I mark all of my HM slaves with a triangle. That way, when I'm searching through boxes, I can easily see which Pokemon I gave HMs to (and guess which ones they hold) just by looking under their names and levels on the side of the screen. That way, I can easily pull out a Pokemon I need to get through a certain part of the game without having to scroll through info pages to find Pokemon with HMs. I do the same with contest Pokemon I don't name but have maxed out contest stats with.
(If I recall correctly, you can also filter your Pokemon based on the mark you gave them in DP, but I don't have my copy on hand. Anyone want to verify this?)