To me, back when I played 3, I looked for utility over "pure" roles.

I ran a mage, lock and druid team. They killed everything in Northrend, up to the 5 man quests. The lock tanked with a demon build, don't discount the Felguard, he takes a real beating, and does a lot of damage.

Tank, druid or pally. Possibly a DK? Less utility on the DK, though, but they do have benefits. Druid is slower as a tank, but very viable. I love my pally, though.

Heals, priest or druid. Druid edges past the priest as a druid can tank, heal, or dps, and if you dual spec, you can have two of those roles.

DPS, whatever floats your boat. My arcane mage keeps amazing me how much DPS she cranks out with a VERY simple macro, she's doing 2.1-2.3k dps in Heroics without really trying - and she brings a nice caster buff, food, and portals, and lots of cc. My next project is to spec her ice to play with the slow/freeze aspects of that build for some boss fights, but as Arcane she's awesome. My Boomkin is right up there with her, hovering at 1.8, 1.9k, reliably, and brings buffs, heals, and HoTs to the table.

Shaman are definitely on the table, it will bring buffs and heals and dps.