I have 3 games (plus 2 demos) on steam, and everything positive that i can say about it, i can say about Impulse (where i have 10 games, excluding several expansions).
Excellent (and sometimes cheaper) digital distribution, great occasional bargains, good selection of games, and effective promotion for smaller/indie games(once again, cheaper).
But unlike Impulse, Steam tends to do a lot of thinking on its own (and restricts my ability to tell it to think less, or at least do only what i specifically tell it to do), especially when it comes to downloading stuff. If you don't untick the right box, then it will update all the games for you (during which time, you can't play the game), and if you want to kill some time playing games on steam while you wait for a game/demo to download, you'll have to trick it a bit, otherwise it will pause the download as soon as you start up a game (without telling you).
I consider these minor annoyances that i can work around (though, i shouldn't have to), but my brother has had one too many bad experiences due to stuff like this, and considers Steam the ultimate force of evil in the world. I have yet to have enough bad enough experiences myself, to agree, but i do understand why he (and many others) hates Steam.
Some people talk about how steam doesn't convert the dollars to something more local. Well, i'm currently living in Kenya, and Impulse converts all it's prices into Kenyan Shillings while i'm here (And Kronor when i'm in Sweden, Canadian dollars when i'm in Canada, etc. Just a bit Surprised to see conversion to such an inconsequential currency, when steam can't even convert it's prices into Euros)