Companions (a.k.a. small pets, non-combat pets, mini-pets, or vanity pets) are small pets (or inanimate objects such as balloons) that follow your player character around, and are mainly for show. Unlike battle pets, which they are often confused with, Companions cannot enter into pet battles.
You can own as many companions as you like. Most companions that you acquire are added to the Pet Journal in the game, as with battle pets. However, certain companions can only be summoned using an object in your inventory, and do not appear in the Pet Journal.
You can only have one companion out at a time, and summoning another one replaces the one that's already out.
Once summoned, companions will attempt to accompany your player character as you move about the game world. Some appear to be better at this than others. Jumping down from an elevated location will often send a companion off on a circuitous route to reach your new location. If your companion gets left behind, it may catch up and reappear, but may have to be re-summoned.
If you are teleported or use any form of transportation that reloads the environment your companion may disappear and have to be re-summoned. If you log out, your companion disappears and has to be re-summoned during your next session.
Companions do not stealth. If your character uses stealth, your companion will reveal your presence in PvP.
Before pet battles were created, many of the original battle pets, such as the Azure Whelpling, were considered Companions. However, since most of them were given the ability to enter into pet battles, the term 'companion' is now used when referring to battle pets that cannot battle.
Some companions which appear in the Pet Journal in the game, such as the Argent Gruntling, count toward the battle pet achievements listed below, for obtaining a certain number of battle pets. However, the Blood Parrot, Coyote Spirit, and Greedy Kobold can only be summoned using an object in your inventory, and so do not count toward these achievements.