Some of this makes little sense or is outright wrong..
There are many that I'm sure I've forgotten right now but,
a - all appdata is stored in the same place, complicating matters for people with plenty of small harddrives or low disk space
This may be true, but most gaming pc's i have seen have big hard drives.
b - the system by default downloads data at random, causing lag in games when people aren't aware that it suddenly decides to update team fortress or something
Strange as Steam always pauses all downloads whenever I load a game.
c - it seems impossible, at least to me, to delete a title from the library list once it has been installed - even if it was just a demo of a game or something
Right click the game and "delete local content" has always made Demos go away for me.
d - You can't pick which update version of a game you feel like playing. You can just pick to never update, or to have the newest version. Sometimes a new version of a game makes it unplayable or ruins a savegame or whatever.
Have not had savegame issues in a long time. If you want to play online, you normally need the newest anyway.
e - steam decides if you're allowed to cheat in a game, even in singleplayer. Consequences for cheating online aren't as unreasonable as with battle.net, but still it shouldn't meddle with what people can do in games they've bought.
No comment, i don't cheat in games.
f - the ui is very limiting. Searches are poorly designed, and title information is in many cases insufficient. For instance, when you're buying an older game it might come wrapped in a dosbox enviroment, though an opengl wrapper would've been available instead, deducing from the value of the game. This they ought to inform the user of really.
Some games are starting to list it. Most older games use dosbox for compatibility. The search function is very good with auto complete
g - then there are numerous bugs that limit the user. Like the steam client update system frequently hanging and leaving the user with the 'update 0%' window until such time the task is terminated.
I do not recall this issue, but it may happen on some configs. I would guess a relog into steam fixes it?
h - steam games sometimes still come with extra protection enabled, meaning you can end up having to sign in to both steam and games for windows or a similar system.
This is beyond there control. If the dev requires a certain DRM such as games for windows live, I guess you(and steam) are stuck with it. They clearly warn about this on the store page.
i - The gifting feature doesn't let users know they received a gift when they log on steam. So they can go ahead and buy the game even though their mailbox has a steam voucher for them (even when using 'send directly thru steam' when gifting. This is getting even worse when the steam client sometimes wrongly claim that a user already owns a given game, and you'd have to resend the title to a mail address instead of thru steam directly, requiring you to know the mail address of whomever you wish to gift a game.
90% of steam gifts I have sent showed up on screen right away. Sometimes(that left over 10%) you have to logout and back in. I never had it say they already owned a game. Once again, clearly it must happen. I am sure they are working out bugs like all software. Have you reported it?
j - finally there are all the neusances like the advertisement window that pops up on load, which I can't seem to find a switch to disable, or the fact that you can't have serveral store windows open at once although it's based on a firefox browser with tabbed browsing support. Also that some titles don't show up on the searches, while you can still click your way there using links is annoying.
View->Settings->Interface tab. Remove the check mark from "Notify me.........". Problem solved. You are so wrong about steam being based on firefox. Steam is based on Webkit. Webkit is the basis of Safari and Chrome, not firefox.
Just figured I would clear some of this up