Sure, there's a viable business model for "free" updates. Technically, every app in the iOS App Store works this way. There are ways around it, like selling new apps for major versions instead of upgrading the existing one, or including advertising. For many mobile applications, this model works pretty well. However, the iOS App Store also shows what's wrong with the model -- there's more incentive for developers to produce a number of distinct apps than to focus on improving a single app.
Look at it this way: if you were going to pay someone to cut your lawn for the entire summer, would you prefer to pay them a lump sum up front, or a number of smaller payments every week or two? When you pay up front, you're giving away all your bargaining power at once. A week into the deal, the lawn guy already has all the money he's going to get from you, so it makes more sense for him to cut corners on your lawn and spend his time recruiting more customers. On the other hand, if you make periodic payments with the promise that there's more to come, you're both more likely to be happy with the deal -- he gets a regular income and you get a consistently high level of service.
It's the same thing with software. If you think that the $199 that you pay today for the current version of your favorite photo editor (or whatever) is the last money you're going to spend on the product, you're not looking at it realistically. A certain number of upgrades may be built into that price, so you'll enjoy "free" upgrades for a while. In the end, though, the publisher has to pay its staff of programmers, artists, salespeople, and office workers every week or two, so unless the company is in a position to grow its customer base at a constant rate forever, or to realize some other revenue stream from the users (i.e. advertising), you're going to end up paying for an upgrade at some point in the future.