Alternatively we just run the software in a browser (again, the primary advantage being to the developers, not the user) and need hardware to run 'browser + suboptimal app' instead of 'optimized app'.
Essentially modern dev is doing what Visual Basic did in the 1990s, only more so. The impact of that is we buy faster computers to run slower software at a reasonable speed.
The thing is though, this is all a massive win. The supply of software is by far the most important part of tech. It doesn't matter how fast your computer is if the app you need doesn't exist. We shouldn't change it.
In the last 2 months, I walked out of my local Target with a neo for just under $750 with Apple care (there was a special) so, cheaper, faster across most metrics a consumer cares about, plus longer battery life, lighter, aluminum over plastic, a USB-C shaped hole that will mostly somewhat work with something you have.
However, if you mean cheap in the sense that if it breaks I’m at the mercy of someone else. Yes. My ‘06 MBB had a data-doubler, and SSD upgrades, and maxed RAM, and I can and did replace and maintain many of its parts myself. Plus, firewire with target disk mode to just clone it onto another machine with SuperDuper that just don’t exist in the same way.
We haven't had anything close since the Web came, and replaced the clean Win32 interface on a single system with an ever churning mess of mostly usable, but intermittent and unreliable, network layers, http protocols, and way too much javascript. Then of course there was the enshittification of IE6, and the browser wars, the demise of flash, and the rest of it.
All that extra code and muck served to eat up performance and all the hardware and network bandwidth that could be thrown at it.