If software worked and was good in 2005 on pcs with 2gb RAM and with CPUs/GPUs vastly worse than modern ones, then why not write modern software like how that was written? Why not leverage powerful hardware when needed, but leave resource demands low at other times?
What are the reasons for which it might not work? What problems are there with this idea/approach? What architectural (and other) downgrades would this entail?
Note: I was not around at that time.


I’m not an experienced developer, I’ve just done stuff in Java and Python before, so take what I say with a grain of salt.
If we’re strictly talking interfaces, most modern software is a web browser showing you their interface made in HTML. Common ones that come to mind include Discord, Microsoft Teams and Spotify. You can usually tell from how hovering over action buttons always results in a pointing hand cursor, and how absolutely sluggish they run even on decent hardware. This is often done with Electron, and these apps are often called Electron apps.
The problem with this is that now you’re not running a native application with minimal overhead, you’re running a whole ass web engine
This is (probably, IMO) because it’s much easier to hire a frontend web developer and have them do up an interface, than have a dedicated backend developer do it for whatever window library. It also makes it easy to port the app to many systems (including mobile) given how HTML5, CSS and JS all can be made to work on any platform that can run a web engine.
I also imagine that it makes the user interface consistent to the company’s brand, rather than consistent to your operating system. If you look at Discord on Windows, macOS and Linux, it looks almost identical on all three except for only where necessary such as the top window border. Meanwhile if you look at LibreOffice (native application) on Windows, macOS and Linux, the window styling is completely different per system.
Update I realise after posting that I never otherwise explained other performance considerations outside of the interface - but I hope that just briefly going into interfaces gives a good idea already for software. If you are talking games, then that’s a whole separate conversation