It depends on what you want to do (as for most tools anyway).
If you want to go into the details of web development, use many (sometimes different) tricks of the browser environment, and the newest features of them, have the guts to fight with small tricks that makes your web app 'look cool', GWT will always be in your way: if you have the time and experience, you can do all and more with your hands. And yes, there are many other toolkits that will help you along the way programming in JavaScript.
However, if you want to make a "not-so-fancy", but stable GUI for your application that "should", and in most cases really do the same, and look the same in various browsers without tricks, GWT is a good choice, the best I know about. Explanation: Google is definitely motivated to keep it in sync with the most browsers and the newest technologies, and definitely has enough resources to do it. Yes, you adhere to another giant instead of doing your own stuff. Question: what is your job? To provide the same service to the widest rage of users through a web interface with the smallest effort - or make a shiny, exceptional web portal which has the coolest features on the newest platforms.
+1 reason: I think it is beneficial to keep your application in one codebase, and one language. You could do neat trick in database scripts - but you lock yourself to that db server. You can do external stuff with shell scripts or batch files - but you lock yourself to the operating system. You can implement some of the controller logic in JavaScript to provide a rich client interface in a browser - but you may lock yourself in one browser. For all cases, it is not easy to keep them in sync with the core application data structure and requirements (and perhaps the hardest one is the constantly changing browser+JS tools environment). I am convinced that if the core application is in Java, all stuff should be in Java - with a very small fraction of cases when you really have to put a part of the logic into another environment.
I picked GWT because of my answers to the above questions - and it does what I wanted it to do: in about 2 weeks after installation I had an acceptable web interface for an internal server monitoring system - although I had experience with Swing. (No, I have not used the default look and feel and yes, I used CSS and classes for presenting logical information :-) )
Check your current and planned tasks - and choose the right tool for them.