I know that this question may seem nasty, but I'm just trying to clean up my mind...
I started with humble expectations, and achieved some results... but I'm in doubt if my choice may would be still valid when dealing with large applications.
Times ago I tried to use GWT, I found it very promising because it would make possible to write web apps in Java in a very portable way, and most important, to build your own widgets and components; but I gave up, to be honest, because it generally took a very long compilation time, and because the whole thing seemed a bit over sized for me. Maybe now things are different, and a colleague recently suggested me that it may be a good idea to adopt GWT for our projects, or, at least, to give it a try; I tried to form my own opinion reading some technical blogs and articles, but of course on the web one may find very different opinion about it: somebody claims that GWT will be the next big thing, others disagree less or more deeply. For sure, I've no much time to make experiments...
I think Bear has summarize the "big thing" part perfectly. His reasoning of where GWT might be useful is absolutely spot on. I am one of those people who had no web experience (in fact for some reason, I absolutely hated html, still do). Then I discovered GWT and could churn out my own "web apps"
From my experience, GWT started off very nicely. All the css, html, cross browser stuff is abstracted away from you. If you come from a swing/java background (like me) its almost like using some third party library which provides its own widgets and api. The basic concepts like layouts, event delegation model, parent container with child widgets are very similar to Swing.
Then google bloated it. They kept adding all kinds of stuff. Cell widgets? To optimize? I mean really? How much difference does it make by optimizing when at most you are going to display say 25 data items? I mean hello? Pagination? They didn't stop at MVP and History and Places. Somewhere down they line, they even encouraged to have your own css. Even your own HTML code. Gasp! Wasnt GWT supposed to take care of all this for me once? Sadly its grown too complicated unnecessarily. Sadly, when the pied piper pipes his tune, people follow in hoards without pausing to think "Do I really need all that"
Anyway, coming back to your question.
I personally am (still) a fan of GWT and I would encourage you to explore it (along with other options) before making an education decision.
Long compilation time: You can cut it down by explicitly setting the user agent. By default GWT compiles for all OS+Browser combinations. After all thats what makes it cross browser compatible. When you specify your user agent explicitly, it will compile only for that particular browser.
A bit oversized: Yup. But you need not really use all the available stuff. You will be surprised how much you can cull down. UI Binder + MVP + RPC should give you a minimal working set.