Although I agree with your point on the different layers, and different technologies, its worth considering the reach of a web-app, and the theoretical develop once, deploy on the most important platforms (iOS, android etc).
> theoretical develop once, deploy on the most important platforms
After all those years that's something I won't buy :) Today's html documents are still filled with "ifdefs" for different MS browsers and special css selectors for every major html rendering engine.
Testing a webapp for compatibility with common browser/os combinations must be hell.
But there are other reasons why I tend to avoid webdev:
There are considerations like security. If I deploy a desktop app and one user gets hacked because I messed up then this one user got hacked. Depending on the bug hacking more users tends to be non trivial.
If on the other hand I have a glitch in my web app suddenly all my customers' data is in danger because all the juicy targets sit in one place waiting to be mass-hacked by a script.
I hope that webapp shops hire a full time security guy for their apps but ... who am I kidding ... most of the apps probably run on unsecured boxes and have a dozen of (forgotten) developer backdoors in them.
Security is just a huge and complex issue I wouldn't want to deal with. (And couldn't to be honest.)
Yes, of course they're real closures.
Of course, nowadays you can do the same by using javascript both server and client side...
I didn't find this persuasive enough to use GWT myself, mind you. :-) But it does seem like a valid reason someone might want to use it.