Developers aren't consumers, they are producers. And producers understand that durability and longevity are more important than enabling the rent-for-life, own nothing, subservient economy.
Part of the problem is that software development is still in its infancy in my understanding. Average software quality and reliability just isn't very high.
I don't think I would agree with that. With software, durability is the default. I can write a program once, and run it on the same hardware until the capacitors fail. It takes active intervention in the form of forced upgrades and planned obsolescence to make software "decay."
For a producer as I'm using that term in my previous comment, software is a tool. If I buy a physical tool, I will pay up front for fine craftsmanship, but from there on that tool belongs to me, and I expect it to last as long as the care I give it allows. I expect to do the same with software. If a software vendor wants more money, they need to provide more value in return.
Note that this does not mean I would never pay for subscription services, but I will not stand for companies trying to blur the line between service and tool.
Fixing flaws is a separate and legitimate concern, but whether feature or security, this is solved by the idea of a warranty where the purchase price includes the product, and some time-limited obligation to ensure that it is fit for purpose. Once that's up, it's up to the developer to determine whether it's worth their while continuing to support it - but at least the end user can run it on the platform they originally purchased it on. Theoretically.
Then comes the hiding-in-plain-sight pernicious moneymaker mentioned: platform planned obsolescence. It comes in many forms, forced upgrades as mentioned, but also things like "turn on auto-updates because that's just what you do these days", "oh this is a 32-bit app so you can't run it anymore - pester the developer". Then there's all the developer-side stuff like "32-bit apps don't work anymore, update", "Oh neither does the older SDK, update that too", "Oh didn't we mention there's this new screen shape and you have to add support for that too", and "oh if you don't do all this stuff your app will disappear from the store in X days". What about the less obvious stuff like "this new SDK/toolkit/platform library is the way to build new apps! There's not really a clear upgrade path, but it's the one true way. Until the next one."
It's next to impossible for developers to solve this problem because it is an externality imposed on them by platform vendors. It is the main reason why software, in the short term, needs to be maintained. Of course, long term you expect that big developments and innovations would result in some level of obsolescence, but the devices and software industries have an incredibly fast rate of churn even for the pace of innovation. It's very interesting using systems from 5, 10, 20 years ago just to see how far we've come (or in many cases, how far we haven't).
Apple in particular has driven this by consistently eschewing backwards compatibility, constantly churning their SDKs, and continuously breaking older platforms. It's no surprise, they have two strong financial incentives to do so: if new software requires new Apple hardware, that's new revenue for them, providing they can convince us to buy it. If new hardware requires new software, that's new revenue for them thanks to their app stores. If they can get developers to move to subscription models well, that increases the recurring revenue via IAPs. Force them to use your payment and accounting services too, clipping the ticket along the way? More revenue!
We're the suckers though - we've been conditioned so hard to expect their stuff to be somewhat fragile, expensive to repair, and severely limited in lifespan that we almost like it. You dropped your phone? Oh the glass on the back has all broken. That's integral to the chassis, so it's a really expensive repair - over half the cost of a new one. Might as well treat yourself. No don't listen to that Rossmann guy, he's obviously <unsafe/counterfeit/untrustworthy>, eyes over here buddy, look at my pretty blue shirt. Oh hey, if you go to him Face ID won't work, because a nation-state actor might have installed an intercept on his dodgy counterfeit screen. You want to keep secure right? Anyway what were we saying again? Oh yeah, the new one. Oh you also ran out of storage? It's only been 5 years, the base model still has the same amount, so why don't you pay a bit more and get the upgrade. After all it only makes sense that you'd accumulate stuff over time right? What did you say, SD card? RAM stick? nVME SSD? No no no, they're way too slow/insecure/low-tech/dangerous to work with iPhone/Mac. No no your friend who put one in his computer has a PC - these are Macs, entirely different type of thing. Of course software needs to be maintained, of course it does. How could it possibly work on your new machines, how on earth! I digress...