There were endless conversations about a support matrix and patching older versions for customers who refused to upgrade. We were hamstrung by old design decisions and backporting fixes making any change onerous. We couldn’t add value for new customers as fast because we spent a majority of the time supporting older customers. Now those older customers probably preferred it that way. They had software that worked (until a new vulnerability was discovered at least) and that they had paid for and liked. But as the decades (literally software that old) dragged on they became like technical debt that we couldn’t detach.
As a developer, the incentives were clear. If I’m spending half my time supporting people who had already paid and weren’t likely to pay again, then I can be more productive elsewhere, creating more additional value at a company that had a services model. So I left.