Web apps have two big plusses over clients:
- As long as you stick to HTML 3.2, it will run on any computer.
- No manual installation and updates needed.
Simple web apps are write once, run everywhere badly. This is extremely pronounced on mobile devices, where interaction is so limited.
And once you go to richer web apps, the development process is simply insane, although tools, such as GWT, that abstract over all the different buggy execution platforms help.
All in all, I think the fight between the web app and the native client is far from over. Personally, I'd much rather write, say, a Blackberry app than a web app next time.
There's nothing like good old GUI programming to a Smalltalk72-style WIMP API.