There are several factors in determining this. What is the OS used for? Why can't one upgrade more frequently?
If it's an embedded product, or an appliance, LTS releases make a lot of sense and really should support at least 4-5 years for many types of products to be viable. This is certainly true for IoT uses.
For servers, it's another story because we're in the era of spinning up new ec2 instances or using docker/kubernetees. If you do it right, it shouldn't be such a big deal to migrate to a newer OS beyond testing. Even so, ~3 years of support or more is ideal.
Desktop users can migrate more often for personal use, but in business environments you start getting into things like VPN and other security software. It's hard to control that and new versions are often not supported right away. If we're talking linux, the community has a break it and punt mentality on everything. It's hard to support many versions of software on linux. The latest pulseaudio hack or systemd damage and you're SOL. Next week they break dns resolving. So there's the enemy of the community mindset and security fighting each other.
When you start talking about mature operating systems, I think the sweet spot is around 4 years. Older than that and it's extremely difficult to support. For instance, there is no updated SSL library that is stable for 4 years. Look at the recent issue with FreeBSD patching 11.4. This isn't the project's fault, it's the pay to play mentality of that project. They don't want people hanging out on older releases very long so they dictate when everyone should update their OS.
For smaller projects, LTS isn't even a possibility because it cuts into the time to develop the software.