This is my overview.
Warrior: Hard to kill. Has lots of armor and can Charge, closing the space between you and an enemy in a second. However, they kill slower than most other classes, even if you spec in the damage talent trees. It's only until you start doing end-game raids and getting great equipment that you start to do unbelievable damage.
Hunter: Probably the best solo levelers in the entire game. They receive a pet. They a ranged damage dealer. The benefit they have over other ranged damage dealers is they don't need mana to do damage. If Hunters are out of damage, they can still shoot their arrows that do considerable damage. When it comes to PvP, Hunter probably isn't the best. However, this isn't a fault of the class. This is a fault of the players. Hunter is an easy class to play, but a hard class to master.
Mage: Your typical magic ranged damage dealer. However, while Mages can do single target damage well, they truly shine when it comes to AoE. When Mages are in a situation where they use their AoEs effectively, no body can even touch the damage they do. However, Mages are very sqiushy and can die very quickly. The Mage motto is, after all, "Kill quickly, die quickly." Mages are also arguably the fastest levellers. In PvP, Mages are easily one of the most annoying classes because they have so many spells to stun, freeze, slow, etc.
Rogue: Rogues in WoW seems to be different than Rogues in other games. It seems to me Rogues in other games are more utility classes. In WoW, however, they are a dps class. They are the single target damage dealers and they are very good at it. The drawback is they are squishy, though not as much as Mages. In PvP, Rogues are extremely deadly.....as long as they stay in stealth. A Rogue out of stealth is an easy kill for anyone.
Paladin: Kills incredibly slowly, dies incredibly slowly. They can survive better than any other class. When it comes to PvP(and instances), their niche tends to be support. They have great powers that support their friends. Unfortunately, most people suck at playing Paladin so in the end the entire group suffers because of this. Paladin can rez dead players and can Heal. However, their heals are not as powerful as that of the healer classes.
Shaman: The counterpart to the Paladin. Unlike the paladin, they are damage dealers. Shamen are pretty durable, do good damage, and can heal, though not as well as the healer classes. Shamen are essentially the "jack of all trades but master of none" class. Because Shamen do well at both casting and meleeing(but not quite as well as those that specialize in it), a lot of people want them nerfed. Shaman are very good in PvP, granted you can play a Shaman well.
Priest: Priest is essentially what you'd find in any other RPG with one exception. If you alott your talent points right, Priests become insane damage dealers. If you spec into Shadow, once you hit 40 and beyond very few people can match your power. The downside? Levelling to 40 is incredibly hard for a Priest. This is why despite their power, there are not many of them.
Druid: This is the second healer class. The benefit of druid is they can shapeshift into a Bear and a Cat form. This gives them power comparable to the Warrior and Rogue respectively, though not quite as powerful. Up until now, Cat form has been a joke because it was supposed to be DPS. However, this next up coming patch buffs the cat form big time, making it a better option. Generally, Druids level slowly, but that may change with the cat form changes.
Warlock: Probably the least popular class. That's because they are probably the hardest to use. Warlocks get pets like the Hunter. Unlike the Hunter, a Warlock can summon different kinds of pets(a ranged Damage Dealer, a Tank, etc). One of the benefits of the Warlock is they have an end game quest that they can do to be able to summon Infernals and Doomguards. Now, aside from the pet, Warlocks main method of dealing damage is Damage Over Time spells. This can make levelling a bit slower. If you are looking for a challenging class that can be extremely good if you work at it, Warlock is for you.
Now, for racial traits.
The only racial traits worth mentioning(read: actually make a noticeably difference at end game) is Shadowmeld, Warstomp, Will of the Forsaken, and Hardiness. There are other racial traits besides this, but most of them aren't that important.
Night Elves receive Shadowmeld. This allows any Night Elf, regardless of class, to Stealth but be unable to move. This is useful for going AFK so you don't get killed by mobs while you are away or for setting up ambushes. Shadowmeld also makes the Stealth and Prowl of Rogues and Druids more powerful.
Tauren receive Warstomp, which has a 0.5 cast time but stuns the enemies around you for 2 seconds. This is a great caster interruptor and good for escaping. The drawback of playing a Tauren, particularly in PvP, is you are extremely bulky, not as manueverable as other races because of your bulkiness, and you are the biggest one on the field so you are easy to target first.
Undead receive Will of Forsaken, which is essentially a get out of free card against Fear effects, Sleep, and Charm effects. It's useful is mainly for PvP. Nothing ruins a Warlocks or Priests day more is when they fear you and then you pop out of it a second later. Now, there are PvP trinkets that can have similiar features to WotF. That in no way invalidates this power. It just makes the Undead players that much more protected.
Orcs receive Hardiness, which increases resistance to stun and knockout effects by 25%. Now, that may not seem a lot to you. Howeever, I speak from experience as a Rogue when I say it is annoying as hell. 25% is a considerable boost considering the other races have next to no resistances against stun.
Now, this isn't exactly a racial trait, but it is a nice feature. Gnomes have one distinct advantage over all the other races when it comes to PvP. They are very tiny. Now, this advantage is two-fold. First, most people will probably underestimate you. That is an advantage you can exploit. The other is Gnomes are the hardest class to target and keep track off because of their small size and elusivness. If a Tauren jumps around you while meleeing you, it's not hard to stay with them. But if a Gnome does it, it's harder because it seems like they are going faster, though they really aren't.
Beyond these things, what race you pick is mostly aesthetic.
Democracy: rule by the stupid