The fact people tolerate such abhorrent software is bizarre. Some how we've come to accept that software needs updates and it comes flawed and thus updates are necessary.
If a mechanical or electrical device needed this much fixing and delivered so flawed people wouldn't stand for it. Especially an expensive car.
Software can be delivered working and properly quality controlled. Aircraft, space and defence industries are all able to achieve it.
With space, they literally write more multiple lines of specs for each line of code, test the crap out of it, build a ton of redundancy, and have many people go over every line with a fine toothed comb. It's a very long and painful process, and they still have bugs
The defense industry and aviation isn't that amazing - they just have insane budgets, iterate for a long time, and (usually) have someone there ready to take control. It takes them years to perfect anything too
I do agree software is sucking way too much these days though. I think it comes down to a) most projects don't get the years of maturation you need to make something rock solid b) developers have to frequently change jobs because they're rarely given raises for some reason... And one dev isn't as good as another and c) you don't make money by making good software. You make money by making it fast, and finding a way to monetize it heavily
There's also the fact that modern software is built with endless layers of open source libraries, and there's basically no money there. They get abandoned or replaced all the time, and changing/upgrading them is an ongoing process.
I also have a theory that COVID has made the whole situation much worse, and the economics of it have recently gotten much worse
Defence and aviation do have larger budgets. But they also have much stricter standards, less volume and less options for hardware. They do verify and validate all their requirements and deliver functional tested code, buggy software in these industries is not the norm. The recent issues with Boeing was due to insufficient redundancy in hardware and manipulating regulators and testing procedures.
They also (mostly) avoid these agile approaches that have people shipping junk code. They also do software engineering (designing software not just programming it).
It is possible to write bug free code. It's just more difficult and more costly. But it is completely feasible. Embedded systems only using well validated libraries are able to achieve this. Especially when you simplify the functionality. Software for critical systems should always be well tested and fault free. If software developers can't achieve that then they should be reducing the functionality till the system is simple enough that they can achieve that. Your car should never need an update, just like it shouldn't need a recall for a faulty part.
Our current system for developing software is reliant on mountains of buggy code, which is in part due to how library's are built and maintained like you said. The answer is to simplify these systems. But that doesn't sell products, bells and whistles do even if they're haphazardly stuck on.
This shit is so boring dystopian that old cyberpunk authors didn't even thought about it. Imagine this in your cybernetic prosthesis or neural enhancements lol.