Now you may be wondering what exactly makes Stealth rock worse than its counterpart, Spikes, the answer is very simple ad consists of two parts. The first: No Pokemon is immune to Stealth Rock damage besides Magic Guard Clefable. Yes, every single Pokemon in the game takes damage from it, big or small. This ruins several strategies, including Focus Sash, Sub to Berry, and others. The second point has to do with something much greater, something with will take an entire paragraph to discuss: It does so much damage to Pokemon weak to rock that it ruins variability in the metagame. The following types are weak to rock: Bug, Fire, Ice, Flying.
I generally prefer Stealth Rock over Spikes for these reasons. Only Rapid Spin can get it away, unlike Spikes which is an be gotten away by both Defog and Rapid Spin.
Spikes sets an entry hazard around the enemy team's field. Pokémon who switch into the spike-ridden field take 12.5% of their maximum HP in damage. Flying-type Pokémon are immune to this damage. The move Rapid Spin removes Spikes around the user.
Generation III
Spikes can now be set up to three times, each increasing the damage done to the opponent upon switching in. One layer of Spikes will damage the opponent Pokémon by 12.5% of its maximum HP, two layers will deal 16.67%, and three layers will deal 25%. Any Pokémon with Levitate will prevent the damage.
Generation IV
The move Defog will remove Spikes around its target. Any Pokémon under the effect of Magnet Rise or Magic Guard Ability are unaffected by the damage. However, Flying and Levitating Pokémon are affected under Gravity, while holding Iron Ball, or if Baton Passed an Ingrain.
Generation V
Spikes can now be reflected with Magic Coat.
Source: http://bulbapedia.bulbagarden.net/wiki/Spikes_(move)
http://www.smogon.com/forums/showthread.php?t=42211