Steam is a lot better than it used to be, but I still remember when I bought HL2, and I couldn't play it for a week because the authentication servers were down. Every once in a while I run into something with Steam that really annoys me. Especially when I want to play a game on the day of release. Assassin's Creed was on store shelves for 2 days before Steam unlocked the game for everyone else. Last week it was the automatic update to Empire: Total War. The Automatically applied patch broke my saved game, and you don't have the option to go back to the previous version.
So I understand the hatred for Steam, but if you're going to be playing a multiplayer online game, it sure beats the heck out of Gamespy or similar services.