In terms of publicly available software, a database management tool called Toad, made by Dell (or, a subsidiary of Dell at least), is by far the worst.
This program would regularly fail to resolve queries, and crash if you loaded a table which was only a few hundred records. God forbid you want to run a DB function. Absolute trash, and this is from only about 6 years ago. If you think iTunes is/was trash, you ain't seen nothing.
Appcelerator also deserves a mention. Even as a senior developer, I absolutely refuse to work with this ever again. Requiring an account in order to access a project is common with the likes of Github, Bitbucket, and other solutions. Requiring an account even though you've got the code, just so you can access the local API's and plugins is trash. It's sort of like "This code is ours, but you're locking it away behind a login which is completely irrelevant to actually being able to do my job".
In terms of a common enemy, Siebel. CRM is difficult to do well, but this program was overloaded even at the stock configuration. It'd randomly crash, and it tended to require browser plugins that only worked for Internet Explorer. Enterprises and corporations being the way they are, it meant that you were often stuck with a version of IE that was 3 major versions behind the more current. It was notoriously slow even at the best of times, and incredibly convoluted to use. Ever been trying to deal with a customer issue over the phone, only to get 90% of the way through a long process and then Siebel crashes on you, leaving this open case in their account which you now can't access, and having to start over? Bonus points was when you got told to 'get out of wrap' (which is lingo for dealing with work for a customer case after the call is finished) because you've had to go through the entire process again.
SAP gets a mention too. It wasn't nearly as bad as Siebel for stability, but it's slow, with the UI being completely unintuitive, and definitely feels like a relic of the past.
There's 1 more honorable mention. I can't say the name, but a certain utility company made use of an old-school java program for managing customer accounts. The interface wasn't great, but it wasn't difficult to use. Problem is that like so many java programs before it, it would randomly fail to repaint the screen at times leaving nothing but a 90's Windows-style grey window with no UI, or just crash with an out of memory exception. It'd sometimes do this even while it was idle. If that ain't a sign of a significant memory leak, I don't know what is.
Alternatively, stick with Windows and just use WSL/WSL2 and have the best of both worlds for development, gaming, and just about anything else.