I just want to state outright that OP was wronged, and I side with them. That being said; I dislike both full subscription (i.e. breaks on expiration) and lifetime licenses. Subscriptions are too expensive for software that rarely gets major investment and lifetime licenses are dishonest (e.g. company cannot work for free, so their funded is based on unlimited growth, which isn't realistic for most). My current favor…
There's two "lifetime" models, as you noted:
1. the good old way, provide someone an installer and a license key valid for this version and optionally older versions and N years of patches. Adobe used to do this with the Creative Suite, Microsoft did it for Office and does it for Windows, Atlassian does so for their datacenter and not-yet-expired self-hosting licenses and JetBrains does it for their IDEs as well.
2. "lifetime" as in "buy once, get upgrades in perpetuity". That one entirely depends on the business model of the developer. If it's just some hobbyist developing a piece of software because they want to solve a problem they have (e.g. Hyperswitch, SizeUp for Mac) or open-source developers, that's just fine - they do the work anyway for themselves but get a ton of coffee. If it's something MANY MANY MANY people want but the maintenance effort is low, something like the Slysoft/Redfox suite of DRM removal tooling, it can work out as well. The critical thing is something that needs a ton of ongoing maintenance... and most of these fail spectacularly or do rug pulls on their users.