system
Given the following post, respond as if you're commenting on Reddit:
human
ELI5: Why does software "bloat" and generally get crappy over time?

It seems like for the last 20 years I've been in a constant state of upgrading, tweaking, hot fixing, patching, uninstalling, defraging, formatting, and generally getting under the hood of my PC like it was a cheap car from the 1950's. My question is... why are computers designed like this, why does software have to be so... delicate? There has to be a better way to go about this, if we could do it over again knowing what we know now would there be a fundamental shift in how software is coded or is it just sort of the nature of the beast to be inherently unstable?
gpt
Basically the problem is actually that things are advancing but not at the same time.

Okay programmer rarely make something purely from Scratch. They tend to build upon some else work. This is because no one want to reinvent the wheel each time they want a persons mouse to move the cursor on the screen.

So let's taking just moving a mouse for instance. The first mice had one button. So a person at say Microsoft wrote a piece of software that made it easy to use a mouse that used one button. We'll call this software version 1.

Now someone is like 2 button is better for a mouse. So Microsoft make a software called version 2. Version 2 support mice with one button and two button. 

If your making new software you'll use Version 2 because it supports both two button mice and one button mice. But alot of lazy programmer won't bother changing their software and keep using Version 1.

Now new features are added, we've got optical mice, we've got three button mice, scroll wheel mice, touch screen mice, tablet suddenly your up to Version 12 and the code is getting really complicated. In Version 1 for example alot of old computer needed something Serial to control a mouse, but now everyone uses something called USB. The serial part of your code is really old and no one really understand it any more. There is a decision at Microsoft to remove Serial support from Version 13 because it's slowing everything down and no one uses it.

But now you have a problem. Some program are using still using Version 1, their programmers are that lazy and some people really need to use software that using Version 1. Some people need version 7 for some reason. And people with Serial Mice need version 12 cause version 13 doesn't work with their mice.

So now programmer start including multiple Versions of the mouse software in their software. If they want everyone to be supported... well they have to. Now their program is starting to get bigger because of all different version they have to include, and it's running slower as well. This is where Bloat happens.