I have to upgrade otherwise a critical piece of software (e.g. Xcode) will not run.
Or you end up a situation where you have to use older software.
Of course, if you're a developer and you're making Apps, Apple will at some point insist that your applications must link against the latest version of the operating system if you want to release through their stores (and you don't have much choice if it's iOS) which means that, yes, you have to go buy new hardware. I'm facing this pretty soon with my five year-old MacBook Pro.
But for people who are not developers, there isn't as much of an issue.