I used to run GURPS. GURPS had this idea that everything should be quantified, so that characters could be balanced with each other. Consequently, every one of the characters close relationships was supposed to be classified and quantified according to whether it was an ally, or a mentor, or a dependent or whatever. The relationship adjusted the points the character was theoretically worth.
One problem this opens up is which comes first, the points or the relationship. If a character saves the life of an NPC, he might realistically assert that the NPC should become an ally. If he has character points to spend, all well and good. But supposing he doesn't. Should you make a decision about how the NPC will behave on the basis of an out of game world commodity like 'character points'? Shouldn't the NPC just behave according to things that are in the game? Could you just award the NPC as an ally, and adjust the character sheet accordingly, effectively awarding character points equal to the value of the ally? After all, if the NPC were a small orphan child you'd probably have no problem deducting character points if the PC insisted on carrying for the child thereafter.
This problem is I think a pervasive one when games attempt to treat social relationships as a character resource, and in the case of D&D it goes all the way back to the problem of 'followers'. In 1e AD&D when a character of a certain level met certain conditions, followers would arrive to serve that character as a one time boon. Likewise, the PC could by virtue of their charisma maintain a 'henchmen' relationship with only a certain number of NPCs at a time. But, could the PC raise followers or something very much like followers in some other manner, such as through play? Should we take the existence of followers as proof that you couldn't have followers unless you were name level? Should we override the logical results of story to preserve game elements?
This problem became even more acute in 3e D&D with the introduction of the Leadership feat. This feat was intended to create conceptual back compatibility, allowing continuity between the idea of followers from 1e and what was possible in 3e. But unlike in 1e AD&D, Leadership was an optional character building resource. You had to spend a feat on Leadership that might be spent otherwise on something else. Leaving aside the fact that Leadership was a hugely unbalanced feat, the fact that it Silo'd the concept of retainers and followers seemed to imply you should never have leaders and followers without spending the feat. And that to me represents a problem, because 'feat slots' aren't something that should exist in the game world. They are a game abstraction simulating the development of talents and abilities over time. That might be well and good for the accumulation of character skills, but it does a terrible job of dealing with character resources that are external to the character such as possession and social relationships. Imagine for example telling the player that he couldn't actually pickup the treasure because he didn't have an available feat slot or other character building points to afford to have the treasure. It's expressly gamist and it gets in the way of telling a story 'naturally' through RP.
What I think is required here that D&D typically hasn't addressed is measuring an NPC's relationship to the PC quantitatively rather than qualitatively. D&D has always tried to simply social relationships down to a class of relationship - a henchmen, a retainer, a hireling, a follower, an animal companion, a steed, or what not. What is really desirable would be to have some number or numbers measuring the NPC's loyalty to the PC. Then you could have a mechanic saying, "When these mechanical qualifications are met, 160 1st level characters with fanatical loyalty arrive to serve you", and that would be fine. It wouldn't stop characters from acquiring social relationships through more narrative means.
So, absolutely, allow pets. Just be prepared to treat those pets as having generally far less loyalty or connection to a character than is implied by relationships like "animal companion". For a pet, consider the following questions:
1) How easy is it to get the pet to behave counter to its instincts? 3.X had animal handling checks for 'pushing' an animal to behave contrary to its instincts, and you should apply a similar idea for ordinary 'pets'. For semi-magical or magical animal companions, of course the animal will generally always overcome its instincts.
2) How loyal to the PC is the pet actually? Animal companions willingly put themselves in great danger to protect their master, but ordinary pets will likely not be nearly as loyal. Even a trained attack dog that will willingly obey its instincts to protect the pact, will probably balk when presented with danger that is out of the context of its training. The sort of loyalty between a master and pet so that the pet is similarly willing to risk its life for its master in situations it hasn't been trained for takes years of building a relationship. It isn't something you get out of the box with a pet you bought and haven't interacted with.
3) How can you expect the animal to behave in the absence of orders and in particular when the player is out of sight? One advantage of animal companions that I generally enforce compared to pets is that they generally continue to act in the master's best interests even when left alone and not able to receive instruction or queues from the owner. Pets left alone behave pretty much entirely according to their own instincts and own perceived best interests.
4) How intelligent is the pet really? Animal companions tend to be quasi-magical, with intelligences that exceed to some degree what you'd expect of an animal. They behave like story pets and less like real pets.
For myself, I freely allow the player to obtain pets. If you want to go adventuring with a pack of six guard dogs, by all means do so. I won't stop you with any sort of gamist fiat ruling. However, pets do not automatically have all the advantages that animal companions receive for free. As such, I tend to treat animal companions as an extension of the player and allow the player to make decisions for it, where as I tend to treat a pet as an NPC and I make the decisions for it. Any control the player has over the pet is limited according to his animal handling ability.
At some point I hope to develop a rich mechanical language for describing the relationship between a PC and say a pet or ally, at which time I can then use that language to describe absolutely the advantage spending a chargen resource to acquire a special pet or ally actually gives you. For now, I run it somewhat loosely, paying attention to the issues I described above regarding intelligence, independence, loyalty, and instincts.