Because hunters dish out damage, a lot, they have a companion who is not annoying (well, warlocks deserve it, so its fair) and they have the best aggrodump and usually lowest repaircosts. Do I play hunters just because of the pets? No. In fact, Blizzard took away my relation to pets so that I don't care anymore what pet I have. I tame the pet thats best for the job and sometimes I don't even give them names. I think that needs a little explanation.
I used to go that extra mile to get me THAT pet, that special pet, my pet. My first hunter (a tauren) was the first to suffer through this. Rake was his target - a rare lion in Mulgore, level 10 I believe. Well Rake was special in the old days, but back then he was just like the next lion in the barrens. But I could tame him as a level 10 tauren hunter while the other lions were 13+. Imagine that little hunter between all the hostile animals in that area, avoiding any contact, starring at the minimap for hours. And then there he was. I cleared the path to him, killed anything around him so I could safely tame him. Did I mention that he was my first companion (those quest-tames don't count)? I was shaking. I began to tame and of course he started to attack me. My eyes were on the tame-timer, calculating if I would make it. But there comes that helpful player thinking I need help and attacks Rake .... Looking back its hilarious, but at that moment I wanted to kill that player, IRL, screeming at him in game. He probably was like: "WTF, I just wanted to help you...". If you read this: I'm sorry.
Long story short: He killed Rake and I logged off, but I tried the next day and then tamed him. I deleted the tauren 10 levels later because I hated the barrens, but I still had Rake.
My second hunter (Nejem) went solo into razorfen kraul to tame one of the armored pigs when he was lvl30. He died at least 5 times trying but then he had a black one and it was his only companion till level 63.
Then I created my third hunter (Jemhadar) and I tried to play him perfect from the start (kiting till level 10 and stuff). When I hit level 23 I tamed Humar and I was the proudest hunter on the world. He was my only pet and he saw Karazahn, SSC and FDS. We matched pefectly (black hair, fur). I loved him. He was the only pet I was attached to.
Sure enough Blizzard had to nerf cats or buff the others, whatever. Seriously, this is a game that shouldn't be so complex that you have to tame that one pet out of ~20 classes because it will do the most damage, or help the raid or help in pvp. Why can't all pets have the same stats and you can train it like you want (tank/dd..)? And that level-bullshit: Hey look, there is a green one *releases current pet, tames green one, puff level75 already* ... Oh look a blue one "releases green pet, tames blue pet, puff". I tamed a black windserpent once (Zul'Gurub) and it took me hours of tanking/kiting for my pet to get him to my level. You actually had to work for your pet, like earning its respect. You don't even have to feed them. Thanks for the cute feed-animation that probable only 1% of all hunters know about since no hunter feeds their pets anymore. Some hunters are so ashamed that they run around with no pet at all and only call it for raids. In heroics it just stands by my side (of course a wolf, what else?) and buffs me with his howl - stuff dies so fast and who cares if I do 200 dps less.
I have 5 stable-slots:
* a black bear for tanking solo-stuff, raid-buffed he has 40k when I'm in BM-Tank-spec
* a black spider for pvp (net)
* a black windserpent from zul'gurub because it was a feat to get it solo at level 70
* a black raptor because uhm ... its black
* a black wolf for everything else
Why did I release my long-time-companion Humar? Because I can get him anytime I want and it will only take me like 4 houres to get him to my level. And nobody would know that I just got him. Pets were reduced to tools like a rifle or a bow. I tamed all three spiritbeasts and leveled them to 80 ... and released them.