Warlocks have more conventional survivability in that they have much more stamina plus they pack a number of self-heals (Healthstone, Drain Life, Death Coil). Demo locks in particular can rack up huge survivability. They also have some slight playstyle variety depending on their pet. The downside to playing a Warlock is having to grind soul shards all the time, shitty kiting (Curse of Exhaustion really), no mobility skills, and some weak CC - Fear/Charm mainly, which would be good if it weren't for the fact that just about everyone has a way to deal with it, usually involving the PvP trinket and/or Will of the Forsaken. Warrior/Shaman/Hunter are only classes that do not break either Fear (or Seduce) with trinket, plus Priest/Mage/Paladin do not break Seduce with trinket - the rest of the classes break both with trinket.
Mages get Blink (which also breaks stuns) for a mobility skill, giant slows, freeze effects, stuns, and polymorph, which makes them less vulnerable to getting countered by a single trinket or racial and gives them a better variety of options to deal with fights. They also tend to have better crit.
If you are playing Alliance (and therefore PvPing against undead), Mages > Warlocks easily. If you are playing Horde, then it's more a matter of preference, but I think Mages still have an upper hand.