My current work's code surpasses most of my previous thresholds of offensiveness.
it's (from what I've seen) actually not too bad to use as a user but completely unmaintainable from a developer point of view.
Massive nested if/switch/cases half way across the screen, 8000-line classes, stupidly-vague named methods like 'doStuff' and 'getItems' - basically it's just been done without much thought given to those that may have to come along and maintain it in the future. Annoying 'cos it's more about laziness and selfishness than not knowing about best practice. You don't need to have had formal training to know how to do it properly you just need to be able to spare a thought for other people.
Basically every task involves cleaning up somebody else's mess. I shouldn't have to come to work to see that any more than I should have to come to dirty cups in the sink, or clean up muck off the floor.
But, it IS 10 miles away from home so I can cycle in without getting up ridiculously early AND go to the gym in the evening, so I play their game.
In terms of commercial products, Office 2013, for being completely unintuitive compared to previous versions, every thing I need to know how to do I have to lookup on the internet how to do it. But at least you can do it somehow. They've tried to make it fancy without giving much thought to users who are used to previous versions.
Adobe reader for having to update itself more often than you actually use it.
Any software that keeps bothering and nagging without giving you anything back for it.
"[So-and-so] needs your attention"
"[So-and-so] requires to update. Click here to download the update now."
"Do you accept the license agreement? UNtick here if you DON'T want to opt out of NOT being sent NO emails." *
"Sorry - the update failed! Could not connect to the download server! Your attempt to update [so-and-so] failed! [So-and-so]
could not update!"
- well,
don't then! I didn't want to frigging update it in the first place. iTunes is a bugger for this.
Any software that constantly manages to find something more important to do than what I, the user, want it to do.
* reminds me - the most comical incidence of the stupid double-negative mailing list optout was at a previous job: the tick box said "please UNtick if you do NOT wish to be sent emails".
The code behind said
"if ( ! checkbox.Checked ) { sendEmail(); } "
I've no idea whether it was deliberate or not - the depressing thing is I suspect not.