I think you are forgetting tech support. Depending on the product and the types of users you have, it can be time-consuming and quite expensive for the company.
The primary reason subscription model makes sense, and why many software shops are switching to it, is because you never want to find yourself in a situation where you have to generate new sales to afford supporting the existing customer-base.
This was never an issue because in the old model you only provide support for one year, and sell an annual maintenance plan at 20% of original price to continue it.
Consumers complained, sure but most businesses understand that it costs money to provide services. If a software vendor had no plan for funding maintenance that would be perceived as a supplier risk because itβs unsustainable.
The primary reason subscription model makes sense, and why many software shops are switching to it, is because you never want to find yourself in a situation where you have to generate new sales to afford supporting the existing customer-base.