Stealth Rock is superior to Spikes in this metagame, and it's the first hazard that anybody ever thinks of putting on a team. Since rocks hit everything, whereas Spikes only hit grounded Pokemon, SR is more useful overall. With common threats nowadays including Tornadus-T, Thundurus-T, and Dragonite, Stealth Rock is an asset for any team, whereas Spikes can be extremely underwhelming at times. Spikes are great as a secondary hazard, because they're stackable, but you should always have Stealth Rock on your team before considering adding Spikes or even Toxic Spikes. Speaking of TSpikes, why are some people saying it's awful? They're extremely effective if you're bent on winning the weather war, seeing as they hit every single weather starter out there, and Poison-types are becoming increasingly uncommon nowadays. The only two viable OU Poisons are Tentacruel (falling in usage due to Starmie's popularity) and Amoonguss (again, low usage). Combined with a spinblocker, such as Jellicent, TSpikes can do some serious work on most teams.