In the old days I'd build a new computer because the old one's hardware wasn't fast enough to run new software. Now hardware from 2013 is plenty capable of running whatever you throw at it but if the software stack is a similar age don't expect to be able to run any new software or even decode video media. The rate of change in technological progress on the software side has only continued to increase, unlike hardware.
Because of rapid development of the previously somewhat bi-decadal-stable programming libraries (and codecs) everyone uses (C++'s C++11, C++14, C++17, C++20, changes to glibc adding new functionality, etc) it's almost to the point where you can't compile something written today on a software stack more than 5 years old. The proliferation of all the containerized solutions (docker, flatpak, snap, appimage, etc) is the immune response to this inflammation but it just makes it worse. Progress is great but the rapidity of obsolescence is getting intolerable.
Yeah, I could throw away my old software version workflows and update to lastest $OS but I think it's a lot easier to just build a new machine to add to the span.