As stated before, it's all about PVE vs PVP
Even if WOW was a PVP-only game, it would still be hard to balance. But since it's a PVE and PVP game (with obviously more focus on the PVE side since that is Blizzard's customer base), it's practically impossible. Take for example enhancement shamans: they do less damage to other melee because shamans wear chain while other classes wear plate (with exception of rogues, but in compensation they can vanish and stunlock). Boost enhance damage in PVP, and then they're OP in PVE. Increase their armor or damage mitigation in PVP, and now they may be able to tank or offtank in PVE (which would be awesome for shamans btw, but not what the designers have in mind).
You could try giving each class a PVP-only spec with PVP-only abilities but that could also be a nightmare. Hybrids (druids, shamans, priests, pallies, monks) would all demand multiple PVP specs to cover the different PVE specs they already have. A PVP spec would be fine for BG's and Arenas, and PVE for raids and dungeons, but what about out in the world? Would you have a PVP spec to fight other players, but then switch to a PVE spec for world bosses or dailies?
Basically you have to favor one side over the other, or do both poorly. Blizzard has chosen PVE over PVP, since that is their customer base, though they still attract a good amount of PVP players because the competition is so weak.