That’s not a sales tactic. Apple supports their old hardware with updates longer than anyone in the industry. The recent ones have been due to the architecture transition, maintaining BC with amd64 has significant costs.
This is what I assumed as well, but online I found people who were able to update a ~2015 MacBook Pro to a version of macOS more recent than the latest supported one, and it still worked.
Both are true. Apple's official qualification, continuous integration, bug fixing, backporting, etc. takes more effort than a hobbyist getting things to (mostly) work. But the main issue for Apple is focus: Apple wants its product development organization to focus on the next new thing, not on the past.
I'm mostly OK with Apple's 7-10 years of support, but I also have older Macs that still work fine and that I wish were safe to connect to the internet while running macOS - without relying on various hacks or workarounds.