It's always dangerous ground with that "best" word.
A shaman's strength is in versatility. This is especially prevalent in PvP: shamans can react to a majority of opponents' spells or playstyles in some way (the glaring exception is stunlock rogues). The problem then becomes skill based. Shamans have the tools, but the "best" part is still in the hands of the player.
Versatility is also a double-edged sword though. At level 60, the current end-game revolves around specialization: while that mage concentrated on +damage and can now one-shot players, shamans still needed +damage, +AP, +STA, and pretty much every other stat to maintain the way they did pre-60. This lead to a shaman sub-specialization culture: your talents (41-point talent cap did not help this) dictated how you play and gear your toon. That enhancement shaman gave up a lot of his mana pool for that high melee crit rate, and lost part of his spellcasting versatility because of it. For this reason I don't see shaman as a discreet class, more like 3 potential classes that play very differently from each other.
An elemental shaman will have a much easier time against a warrior than an enhancement shaman. Meanwhile, an enhancement shaman will destroy squishies while other specs will have a harder time. In the rock-paper-scissor match, shamans as a whole can't fit into that generalized metaphor.
I'm rambling anyway. In short, shamans have the potential to be great from skill, but I think their reputation is over-inflated due to the fact that there are so few perceived "papers" to their "rocks". People see an enhancement shaman destroy a mage with melee then see a different resto shaman out-last a paladin, and think the same shaman can do it all. Shamans can do it all, but not nearly as well as generally thought.
Even shorter: the classes are balanced pretty well.