I see cases where it makes sense...but I also see the need for development to get paid their salery, and once you have reached all the users you can....their is no new user growth....and if your just selling based off a one time fee then that means you got very little income except the random guy who might donate, but a company shouldn't rely on donations to keep products alive.
If the thing needs updates or changes regularly say once very 6 months....due to changes in standard or just keeping things updated....this stuff costs money to keep developers paid.
My crude C program I wrote that converts an input between celcius or Fahrenheit is not really going to change. Unless I want to also support data inputs other than floating point numbers, I don't need to update or modify anything. But other stuff is more complex and might change due to standards, advancements, and the needs of the users.