They are nearly a decade old and can be left behind.
That's your opinion, and people have very different opinions on this matter. And I do appreciate the huge cost of maintenance, and I've experienced the effort it takes in development both for desktop software, mobile apps and even just simple websites can be more effort in testing and bugfixing than non-developers may think, so I totally get that.
But that being said, we're not talking about bringing new (big) features to an old platform here, but patching vulnerabilities as they get discovered and sometimes implementing minor things like new protocols etc. And for MS, with the kind of resources they have at their disposal, and the amount of resources they spend on "nonsense" when the majority of their customers just want a "thing that works".
For consumers, I totally get the frustration. Not only are many computers working fine with the older OS version, they also may have applications or games that work better or requires this OS version. With applications there are usually newer versions (which may of course cost money), but with games especially, should people be "forced" to abandon their game collection? Sure, they can continue using the computer "air-gapped", but is it really fair to "leave them behind" and basically force them to eventually disconnect them from the Internet to continue using them? (like you basically have to do if you want to use XP or 98 today)
And for the enterprise market too, whether it's fully custom or specific software developed for a platform, then they have to spend significant resources to redevelop and certify the software because the OS changed. It can get pretty costly, and there are a lot of odd hardware in use out there. Hopefully some are smarter than to use Windows in critical environments, but unfortunately it happens a lot…
I've argued before that MS should probably move to two tiers of Windows products, a "new" branch which requires hardware newer than 3-5 years (and probably not the low-end crap that's new), and a "legacy" branch which supports as far back as possible (like Athlon 64).
While Linux may be appealing to those wanting to keep old hardware in use (not because of old software), as current distros support anything Athlon 64 and newer (so approaching 21 years of support), things aren't perfect there either. If you for a specific reason want to keep the OS, then it's about 10 years (Ubuntu LTS with subscription), so fairly similar to Windows. But Linux has one large advantage; APIs are much more stable, and most often backwards compatible, so software generally works better in a newer OS version than what Windows users are used to. And in the off chance a library isn't backwards compatible, it's most often achievable to link in old libraries (in worst case recompile them) and get stuff working with some tinkering.
But for the most part, users clinging to old OS versions isn't a think among Linux users as it is with Windows users, which brings me to what I believe would be the best solution; better compatibility and less bloat. With all the billions MS wastes, they could have achieved support for hardware similar to what Linux does, acceptable performance on older hardware, and better software support. This I would believe would remove most people's "hesitance" in upgrading.
Well, Windows EOL is October of 2025, at that time it will have been eight years since the last supported generations of Intel and AMD processors came out.
Yeah, but don't forget that even the big computer vendors usually lag a bit behind, and some lineups can be ~1.5-2 years before they stopped selling the "unsupported" hardware, so there could be a lot of ~6 year old PCs out there without support.