I think you are right for most pure-play desktop software, which is why desktop/mobile people should be looking for a service aspect to their apps: syncing between devices, backups, publishing, etc.
It's unfortunate, but the desktop model just doesn't pencil out in many places in todays world. That means that stuff will end up in the cloud and on the web, not because that's where it can be best implemented (I far prefer a good thick client over a good web app) but rather because that's where the economics force it. And users will end up being held ransom by a cloud service anyway.
It's not really an economics problem. It's unfortunate but an email client is a feature of a platform, it's not a service itself. You can become an email provider and make a kickass client the differentiator, but that won't happen with a 3 person team either.
I think there are solutions (if you read my posts above, I propose that desktop developers find services within their software, such as publishing/hosting, syncing, etc.) but even if there weren't, it's still an economics problem.
The economics of the upgrade-train desktop model are bad and getting worse, and the market will supply less of that. I may be proposing something not inherently appealing to you, but I think increasingly that's where people smart enough to build great software will focus their efforts.
It's unfortunate, but the desktop model just doesn't pencil out in many places in todays world. That means that stuff will end up in the cloud and on the web, not because that's where it can be best implemented (I far prefer a good thick client over a good web app) but rather because that's where the economics force it. And users will end up being held ransom by a cloud service anyway.
It's a funny economics problem.