Well, that's all good but it doesn't explain how did we get there.
I think, Moore's law resulted in a resource curse for PC and mobile. Unlike with the shared computers from the past and cloud services from now, you pay not for the resources you use, but for the resources you own. And under the Moore's law they grew exponentially for quite a while, so the software simply followed the trend growing exponentially in overheads, too.
Technical reasons are probably secondary, since we do still have real-time computing, and high-performance computations in their own respected niches. It's not that all software is inherently bad, it really depends on what it is for.
I believe, the socio-economical reasons of the current state of software are most interesting and the least researched.