I'm so lucky that I don't mind playing a priest. Because that way I avoid one of the recurring problems many people have: Not getting invited to a raid you'd like to attend. It always surprises me that most guilds have elaborate systems for distributing loot, but their systems to determine who gets a chance to find that loot, by being invited into the raid in the first place, are often a lot less elaborate.
The problem usually is that the class mix of the guild (as a whole, or just those online) isn't identical to the ideal class mix in the raid. My raiding priest is usually one of just two to four priests online from my guild at any given raid time. So it is not surprising that every time I asked for a raid invite, I got invited. And then, with so few priests in the raid, whenever a priest item drops I have quite a good chance to get it, for simple statistical reasons. But with my level 60 warrior, who is in the same guild, I don't even need to try. It is likely that I would be one of 15 warriors out of 60 players asking for one of the 40 spots in a MC raid. Some warriors always have to sit that raid out, and even if you get invited as a warrior, your chance to get loot is statistically low, just because there are more of them around.
I'm happy that I'm not a raid leader, because selecting who gets invited and who not is hellishly difficult. If one class is under-represented, you simply take everyone of that class who applies. But how do you distribute raid invites fairly among those of a class from which there are too many players? Doing a simple round robin or waiting list system doesn't really work, because you will want to have a good mix of experienced, well-geared people with some less experienced people that still need all drops. Especially with warriors the "main tank" is a big problem. Taking somebody less well geared and less experienced for that role is likely to at least slow down the whole raid, and can cause unnecessary wipes. But if you always take the same one or two people as main tank, nobody else is learning how to do it, and the guild is in trouble the day the MT leaves for some reason.
There is some tendency in a guild of the problem solving itself: People of a too numerous class that have difficulties to get invited and then have a low chance to get loot tend to get fed up after a while and leave. But that process isn't painless. So most guilds recruit people based on class, but of course recruitment is never perfect, the classes you need are likely to be rare everywhere else too, and then there are always people you invite who turn up for raiding less often than you had hoped. And if somebody wants to join the guild who is a real life friend or something, it is always hard to tell him he can't join because he is playing the wrong class.
Now all this sounds as if it was just problems of guild management, and had nothing to do with Blizzard. But of course class popularity depends a lot on game design. For example a significant part of the rarity of druids can be explained by the fact that only one race of each side can play this class. Not everybody wants to play a night elf or tauren, especially the latter, there are too many cow jokes. And I am pretty certain that the priest class would be a lot more popular if it appeared more powerful in soloing. Blizzard should have an interest in making all classes equally popular, because that would make assembling groups and raids a lot more easy, thus adding to customer satisfaction.
And a great part of the responsability lies with the individual players. By now everybody should know which classes are too popular for their own good. Being a bit flexible and making an alt of a more desirable class can solve a lot of your raid invite problems. It is a bit sad, I really would like to go raiding with my warrior sometimes, but demographics are hard to beat.