I've played almost every class/spec in BG's. I would recommend:
Ret Paladin - Super easy to play, high survival if you know how to kite back and easy to top damage/kills. Run about spamming 123 and hoj > wings healers when possible. If you can't reach healers Repentence them. Save Hand of Freedom for survival. Quite a fun melee to play without a healer. Con: Can't always score solo kills and it's easy to CC.
Unholy DK - Another quite easy pick. Decent survival and immunity cooldowns, some nice crowd control, which allows you to do 1v2's+ and Death Grip healers (which carries can carry BGs). With decent gear you can top damage and score a lot of kills. Most of the damage is AoE DoT damage, but your broken slow from Chains of Ice and ability to set up kills is what makes this spec strong. Con: sometimes reliant on healers, but playing a DK well definitely lets you carry BGs.
Frost DK - Not as good as Unholy, but the potential for tunneling healers to death is higher. You can build Runic power > Grip healers > Strangulate> Pop Unbreakable Armor and tunnel them down with AMS into IBF while spamming Frost Strikes. Cons: really low survivability compared to UH and much less utility.
Shadow Priest - One of the easiest casters for BGs, nice damage, survivability and crowd control, as well as a little bit of CC to help score kills. Sprie can also come top on kills from Shadow Word: Death spamming and also offers some really nice support for your team with shields and HoTs. Con: Sprie can't always score solo kills if people run (but it is the second best 1v1 class) and can be a little squishy vs dispels.
Elemental Shaman: Freecasting overlord. If you stand where people can't really hit you, but you can freecast on them, you can tab target spamming Lightning Bolts etc to easily top damage (not enough people realise this). Ele sham also offers off heals and has some decent CC/survivability with Ghostwolf and Earthbind totem. Oh and purge. Con: Likely to get focused to stop you killing their whole team.
Hunter: Basically ranged Warrior. In team fights it's easy to spam damage and land kills, but out of team fights hunter is a little harder than most classes. It's still an easy class to top damage and kills on, just make sure you always have something targetted spamming damage. It has decent survival with double Deterrence when you're being focused, just pop it and move back through the group until they stop targetting you and then spam damage again. Con: No self heals and has a very low skill floor in some situations.
Rogue - Be a good Rogue. Don't sit in stealth spam sapping people for the entire game. Focus on healers and objectives to help your team win. Don't spend the match looking for other Rogues to 1v1and prove you're the ultimate ninja. This class has insane amounts of CC and can burst down/lock out most classes. You can also solo pretty much any player without their trinket up if you have Shadow Dance. You can also take the role of peeling for casters (stopping enemies from killing them), which is another thing I don't see many rogues doing. Cons: Really squishy and gets focused, but can be avoided (L2P issue ;p ). It's also got a low skill floor in some sitations and may be difficult without experience to win some fights.
Balance Druid - AKA Boomkin. You WILL top damage. You WILL solo the whole team and you WILL get tunneled to oblivion if you don't play it right. This spec is insane in group situations and can solo a team from tab DoTing and then pressing Starfall. Just stay out of the way of melees etc and have travel form ready to get away from people. Boomkin also has some decent off heals and can become quite tanky if you have your own HoTs up on yourself, but this rarely happens/ooms you. Cyclone and Entangling Roots can be really useful in peeling and CCing. Cons: Can be quite squishy and get tunneled a lot. Doesn't have much utility and can struggle to land kills (mainly AoE damage.)
Arms Warrior- Arms Warrior is my main class and I'm going to tell you not to play it for BG's. Arms Warrior is VERY gear dependent and relies heavily on support from a healer. So if you don't have a pocket healer or tryhard premade to LolRoflKilledAGuyWith16kHealthInTwoHitsI'mSoGood, then I'd say steer clear. That being said, just in case you are considering Arms. You're going to need a high weapon damage axe and pref BiS trinkets. You're also going to need really high resilience (full WF or relent/wf 1.2k resil+). Without BiS weapons and gear you lose too much AP/Arp from gemming resil which doesn't give you the almighty 1shotting power you need to best most classes in high resil gear. You really need to practice with mobility and use it to escape situations. You need to be fast in and fast out. Save Bladestorm for when you really need it and generally try to get on healers- Mortal Strike them and get an early Bladestorm off to create pressure for their team. If you play with a healer/premade, kill everything. Pretend you're Mike Tyson in his prime, in a room filled with private server players. Cons: Gear dependent and low survivability without a healer.
Affliction/Destruction warlock - Put your portal down. Put your portal down. Put your portal down. If you're heading to a team fight put it somewhere you can LoS (Line of Sight or hide around a corner) or can outrange the enemy team. You will basically follow the same principle as Elemental Shaman, freecasting and keeping a distance. As Affli you're AoE DoTing the entire team. As Destro you're sending people to heaven with Chaos Bolt> Conglags. It has decent CC with Fear and Death Coil for scoring kills and decent survivability (IF YOU PUT PORTAL DOWN!!!), but can also rely on a good team to help it survive. Destro also has Shadowfury, one of the most broken spells in the game. It's an AoE stun on a relatively short cooldown, which can be used to score kills, interrupt and more. You'll top kills as destro and damage as Affli. Cons: Really weak vs melees in 1v1 situations or can be trained to oblivion quite easily( if you don't put your portal down). Lets not go into full WF affli AFK tanking low geared melees ZZZ.
Frost Mage - Although it kind of sucks for damage and scoring solo kills, Frost has so much CC, which makes it super viable for helping with objectives and scoring kills. If you're damaging it's the same principle as Ele Sham, but with much less damage. Instead of that you want to be sheeping players who aren't being focused and trying to peel with r1 frostbolts to help your team. Try to push in on healers and score kills. Cons: Relies heavily on teams ability to realise when you've set up a potential kill etc. Can be quite squishy without a healer and is weak against hunter.
Fire/Arcane mage - The glass cannons. You'll be trying to avoid as much damage as possible while setting up like frost, but doing more damage. Arcane can destroy people single target and can be really fun. Fire is even more fun with AoE DoTs and 8k+ Pyro procs NOMNOMNOM. Fire can be really fun, it's just a shame that it's so squishy. Cons: squishier than frost and still rely heavily on a decent team + healers)
Restoration Druid: For some reason noone seems to have caught on to this. Run an AoE healing spec (ignore pvp/3's specs). Literally go for any Glyphs talents and Idols that promote AoE and Wild Growth healing. Get your PvP Trinket. Get Two pieces of PVP gear (Reach about 300 resil). Run some ICC and get yourself some PVE healing gear. NOW- Stand at the very back of groups in tree form spam healing everything and using Tranquility when everything is low. Get switched to? Travel form slows. Barkskin (with glyph to reduce crit chance) will stop you being 1shot. Tell your team to instantly peel rogues. You are now a BG carrying god. (I sometimes even just go double PVE trinkets and lolsurvive anyway because of how much the healing enables your team to just keep going) You should make premades when possible and just tell them to keep an eye on you. Con: relies heavily on your ability to position yourself where you can't be switched to and your reactions to get away. OH and have some pvp gear ready for if stealthers start grouping to kill you.
I've only mentioned the classes I see as worth playing if you're going to be a BG hero. I could've gone into full resi/stam stacking tank classes, but that's pretty obvious.
I didn't mention other healers because they're pretty much self explanatory > get pvp gear and get and some pve offset > take aoe healing and carry. RSham isn't too amazing in BGs/World PvP though, it has to be said.
Another good one is Combat Rogue if you have high gear, but I haven't tried it yet, so I can't really tell you how to play it. I saw a guy topping damage and kills in one BG with it though. (30 kills as Combat uwotbigboi)
If people want to ask about less viable stuff etc I'd be happy to answer. Hope I helped.