Nowadays businesses use this to create a constant revenue stream from what used to be a single purchase. It's not to service the product, its to continue to soak money from the people who do end up spending on it.
Aside from security updates most software I have, I just want them to stop. No changes, no design upgrades, no "we changed this tier of our pricing" etc. Most of that stuff is working against the customer not for them. Your SaaS model is so you can make money, I have no incentive to pay more than I have to.
You have to pay their recurring revenue if you want them to stay in business and keep the lights on so you can use their product. That's the hard reality. If you run your own server and fix your own bugs and etc. (which is feasible for many here, I'm not saying it's a bad option) then you can "pay no more than you have to".
It's not my problem that they've settled on a revenue model that isn't in line with what I'm prepared to do.
Software has expectations that it can and should be changed after purchase through updates/patches/upgrades/saas products. That creates an ongoing cost a physical product doesn't have.
There are tradeoffs and different expectations which make both difficult. I would rather go the software root because I have the advantage of free developer time but someone else might find making 10,000 widgets from China much easier and cheaper. We think software is easier because we devalue what we add and what we really cost