I think their main reason is that Apple is a hardware company. They think of new features, build hardware for them, and then tweak their software (OS and applications) to aggressively use that new hardware.
Supporting older hardware is extra work that doesn’t bring in extra money. Also, oftentimes, it isn’t possible to backport features in a performant way (a lot of the ML stuff would only crawl on 10 year old hardware, features such as Handoff and PowerNap require hardware features). End result would be a 20 year old machine that runs the OS, but doesn’t work with modern software.
That wouldn’t make customers happy, and would dilute the brand of their OS releases.
I have a macbook pro late 2013 with a retina display, i7 cpu, 16gb ram and 512gb ssd that doesn’t get monterrey. I am not very happy about it, it’s a waste
Apple always drops software support for hardware when they stop providing hardware repairs. They generally consider hardware “vintage” 7 years after its introduction, but sometimes make that longer. They drop support in new macos releases only but they keep shipping updates to the two older releases as well. This means in practice hardware gets about a decade of software support, and the last two years of that without new features. Since the reasons for dropping support usually aren’t hard technical limits the community makes patchers to put new macos releases on older hardware.
To my knowledge Linux has never worked well on intel macs with a T2 chip. Asahi linux is working on bringing good support to m1 macs, so it looks like for good linux support you either need a pre-T2 mac or a post-M1 mac.
Linux would also require drivers to be recompiled for a new kernel. This is not an option for most proprietary drivers for products long abandoned by the manufacturer.
For the more common and popular hardware there is a good chance that open source drivers can be maintained by the community but if your laptop relies on a somewhat obscure chipset or microcontroller then your mileage will vary...a lot. Look up "Intel GMA500 Linux driver" if you need an example of the pain.
Sometimes the decision could be entirely commercial. Most notably, OSX dropped support for all nVidia GPUs from Mojave onwards despite nVidia going on record saying they are happy to continue providing drivers but Apple won't sign them.
> Most notably, OSX dropped support for all nVidia GPUs from Mojave onwards
Not those shipped with Macs. The GeForce kexts to support the NVIDIA GPU gens that Apple shipped, Fermi and Kepler, are still present even on Monterey.
macOS sees quite a lot of change under the hood from release to release that can make bringing unmodified drivers forward impractical. For example, in recent releases there’s been a push to move drivers away from the kernel and into userspace, which is naturally going to break old drivers. 32-bit support was also dropped not too long ago, which broke old 32-bit drivers.