My main grief with Steam is that it tries to get EVERYTHING you need under one hood, content management, mod developing, server browsing, friend list (basically server browsing and friend list are the same thing). If I was the one designing Steam I'd have done things fairly different, first of all, I'd have broken up the mod development to it's own shards, like it used to be, jsut the programs, nothing to do with Steam itself. Then I'd leave the content manager part as it's own separate part that is used WHEN THE USER WANTS TO, maybe then it might be possible to update my drivers through Steam and update my games.
I should have to run a content manager and a server browser when I'm playing a single-player game, nor should I have to run a downloader and content manager when I'm browsing for server to play on or playing on it.
Steam is basically a series of bad decisions and betatesting.