Mac devs are good about updating their apps, but it’s much more hit or miss in the Windows world. If there’s no impetus to regularly update for security reasons (e.g. browsers) or to keep people subscribed (e.g. Spotify), it’s probably not getting updated too often. There’s a considerable difference in culture between platforms, and I think it largely stems from the expectations set by Apple and Microsoft.
Linux is kind of a mixed bag. Some devs are ultra responsive while others only update when absolutely necessary, but the FOSS nature of most apps there helps since you can always take matters into your own hands and fork a project if it’s accumulated too much rust to be usable.
Linux is fragmented. Windows has shockingly few indie devs given its marketshare (compared to Apple: Omni apps, Structured, Day One, Session, Pixelmator, Fantastical...). The Mac has plenty of eager indies that care deeply about UX and design, and many discerning users who care too. Caring about UX/design is their "carrot"; they don't need the "stick" (deprecation).
The stick was mainly necessary for big devs back in the day, who never cared about making Mac-assed Mac apps. Now those have switched to Electron anyway; the stick no longer provides meaningful incentives. It just annoys people who want to play Half-Life for 5 minutes every few years.
I'm sure the people on the Mac team think exactly the way you do though, so I guess I hope they read this, or at least that they make sure their assumptions are still valid.
Mac devs are good at updating their apps because Sparkle exists.
It’s hard to overstate the impact of Sparkle, it made it easy for developers to ship updates while also putting the control of that process in the hands of developers rather than the platform.
Linux went the opposite route with dozens of package managers which makes it harder for updates to reach users.
There's no reason to update a program once it's feature complete if it works offline. Apple is pushing harmful updoot ideology that kills old (but perfectly usable) programs.
This is maybe true for software that can never conceivably interact with the outside world (can’t open files, isn’t scriptable, etc) but at least on Windows and macOS where shipping static binaries or necessary libraries with the software is the norm, vulnerabilities pile up pretty quickly these days making it a bad idea to regularly use or in some cases even have installed software past a certain age. For these programs it’s better to just run them in a VM where compatibility can be perfect by running an old OS and the size of the potential crater resulting from an exploit is minimized.
It’s a bit of a different situation under Linux where the norm is dynamically linked libraries kept up to date with a package manager, but even there static binaries and things like flatpaks and app images can be bad news.
Linux is kind of a mixed bag. Some devs are ultra responsive while others only update when absolutely necessary, but the FOSS nature of most apps there helps since you can always take matters into your own hands and fork a project if it’s accumulated too much rust to be usable.