All three are great for user interfaces. I'm sure you can create equally good UI's with any.
GWT however is in a different category. Although it does do Ajaxy user interfaces it is more than just a user interface library. It aims to provide many tools to bring real software engineering to Ajax applications. I think it accomplishes this well.
If I were to draw a sketch it would simply be three columns, one for each technology. Each would have a box in their column for user interface. GWT would have additional boxes for: - server interoperation (HTTP, XML, JSON, GWT RPC) - internationalization - code obfuscation - code optimization - automatically cross browser (even the code you write) - unit testing - eclipse (or any JavaIDE) - modularization and java organization/OOP - easy application versioning - performance (image bundles, caching considerations) - code generation
There's quite a bit. Also the GWT engineers are great and constantly working on improving the compiler which means your code automatically runs better with new releases.