one of the add-ons i find really useful is petbattle teams. it allows you to define an unlimited number of teams and then switch a new team in with a single mouse click. in addition to remembering which three pets are on a team, it remembers which three spells you have selected for each pet.
here is what it looks like on my computer:
it creates an extra frame to your pet journal, showing all the teams you have defined. you can see that i've named my teams based on their purpose. i've got four different teams for leveling in the valley of the four winds, each with the pet i'm currently leveling (today it's the scourged whelpling) and two level 25 pets chosen for their ability to carve up critters and aquatics. after each fight, i switch to the next team, and by the time i've used all four the the cooldown on revive pets is up, saving me the trouble of having to find a stable master. you can also see a team with heavy mechanical damage for fighting beasts, and my teams for fighting some of the npc pet tamers. i took this screen shot as i was getting ready to fight the tamer in winterspring (that goblin whose name i don't bother to remember), so that team is currently selected one. underneath the list are buttons for creating a new team, casting revive pets, and slapping bandages on them.
i started using petbattle teams shortly after mists came out. back then, i only had two teams - the six pets i initially leveled. being able to instantly swap between them was a big help even then. now, i have no idea how i'd manage to keep it all straight without it.