In terms of the classic metrics of ‘tanking’, Druids are the best. They’re the easiest to heal because they take damage ‘smoothly’. Their caster-centric nature also makes them the most versatile of the tanks. However, they run into gearing problems in end-game.
Warriors are the preferred end-game tanks despite poor threat generation and somewhat spiky damage performance because they’ve got full tanking itemization and the ability to tank swap effectively.
Paladins are middle-of-the-road. They’re good at AE threat, but tend to have the weaknesses of Warriors without the strengths.
Shaman are rarely geared/spec’d as tanks because so few people expect it. Unlike Druids, Warriors and Paladins - who can tank out-of-the-box and out-of-spec - Shaman need a relatively late game spec to manage it because they don’t get critical abilities like Parry until that point. Even if you do manage to find the player who spec’d/gear’d their Shaman as a tank, they don’t really have the tools for raid tanking.