Class choice can be hard. With so much conflicting information around it can be difficult to choose which class to play. The best advice I can give is to try it. If you like the look of a class, give it a go. Level it for the first twenty or so levels to get a bit of a feel for it. If you like it then keep going. However, some people like to know a little about a class before they start, so here are some of my opinions, given with a pinch of salt.
So here's a brief class by class... well... ramble I guess is the best word.
This is my current main class, and one that I've only ever played as feral. However, I know that if I were to take Ghosthoof PvP I would respec resto, because most PvP fights are won or lost by the healers, not the DPS, and druids make excellent PvP healers because they're so hard to crowd control. Anyone who has tried to take out a group of three players, two of who are resto druids protecting a third damage dealer, will know how impossible it is without a good healer of your own and at least six effective damage dealers to keep both the druids busy.
In PvE all three of the druid's specs can be useful. Resto druids can heal with the best of them, balance druids (also known as boomkins) can make some nice DPS and feral druids can tank better than warriors or paladins until abour T5 level.
For all that you will be told that hunters are the easiest class, they aren't. You need to invest a lot of time into theorycrafting to get the best out of your hunter. You need to work out which pet is the best for your current gear level. You need to work out which rotation to use with your weapon. You need to work out whether your current gear level means agility or attack power gems are better for you. And as soon as you get a gear upgrade you need to work it all out again. You will also probably find that you need to respec your talents more than any other class because what was a good talent spec when you hit 70 might not be great once you've got a lot of attack power and crit. And so it goes on. Hunters, easy to level, pains in the backside to play at level 70.
Marksman hunters are terrible in a raid environment. Beast master hunters are very good as are survival. However, none will reach their potential without a lot of work. We recently had a T5 equipped hunter doing 300 DPS less than a T4 equiped hunter because of the T5 hunter hadn't put the time in to learn their class. And to head off any suggestions to the contrary, the T4 hunter was also bringing more raid buffs and utility. The T5 hunter was just bad.
Traps make the hunter a very good PvP class for taking out melee classes, while an appropriate talent spec can make them very good caster killers as well.
Mages tend to have to arrange their talents for either maximum DPS or for survivability. Mages, like hunters, have tricks they should learn in order to maximise their DPS, but it's no where near as difficult or time consuming to master a mage as it is to master a hunter. Mages also have the easiest and most sought after crowd control in the game - Polymorph.
Deep fire with some arcane tend to be the highest damage dealers, while deep frost with some arcane tend to be the most survivable. The arcane tree provides some nice boosts to your damage, but it is generally better to go deep into either fire or frost and fill out in arcane.
Mages have some nice PvP power, but due to their cloth armour can find themselves the prey of rogues and other high burst damage DPS classes.
Paladins have two viable raiding specs, holy or protection. Retribution is alright, but will often find itself skipped for a better DPS class. I've seen people boast about getting 800 DPS in their retribution gear, but invariably an equally geared true damage dealer will be on more like 1100 - 1200 DPS.
Holy allows the paladin to root their feet and heal almost constantly, with the right gear, while protection paladins are the best multiple (4 or more) target tanks in the game due to consecration.
Discipline priests are rumoured to be excellent in PvP, although I have never really played with one.
Holy priests are generally the first thing to be killed in PvP, but they make excellent raid healers, with a vast number of abilities meaning that they can either take main tank healing or group healing duties, and do both very well.
Shadow priests provide a raid with a lot of utility and are able to provide another source of mana for your other casting classes, which can greatly reduce the cost to the raid of pots. However, shadow priest damage is not amazing and most of the time one shadow priest is enough for a ten man raid.
Rogues make fantastic PvP and PvE damage dealers. With the right spec a rogue will almost always be the top of the damage meters and kill charts. Rogues also benefit from being able to choose their fights by using their stealth ability. On more than one occasion as my shaman I've found myself sapped as I ran along with the pack in AV and had to watch the rest of my group rush off while I awaited the inevitable stun-lock death.
Once you have mastered the stun-lock you will be most of the way towards being an imba rogue in PvP, while the correct skill rotation will enable you to be the best damage dealer in an instance.
The only really viable talent spec for a shaman in PvP is resto. Enhancement is particularly bad as it requires you to get up close and personal, without any means of crowd control.
Elemental shamans are exceptional damage dealers in a PvE environment, and provide good raid buffs with their totems, and even in poor gear will be able to keep up with the other DPS classes. Enhancement shaman provide good damage with excellent raid buffs. An enhancement shaman in a DPS warrior and rogue group will boost the DPS of those group members, sometimes by as much as 100 DPS each. If that bonus DPS were added to the shaman, instead of to the rogue or warrior, then the enhancement shaman would be the highest damage dealer in almost every raid.
A well played destruction or affliciton warlock is a boon to any raid, providing a large amount of damage output with some of the best AoE and raid utility power in the game.
Demonology warlocks suffer greatly in a raid environment, and should not really be allowed in unless there is no other choice.
In PvP warlocks are able to fear, an excellent form of crowd control, while DoTing up multiple targets and healing themselves at the same time. Many people complain that they kill the warlock, only to die a while later from the warlock's DoTs.