I've started working with Seam, and I like many its features (contexts, jBPM) but I didn't like JSF very much - doing even simple things seems to me to be unnecesarilly cumbersome. I just discovered Wicket and it seems to me to be quite nice alternative! :-)
I like JSF.
What I don't like about Wicket that I build my view within Java code, much more like Swing days.
Personally, I prefer to define views via markup (JSF and Tapestry).
If not JSF, my vote goes to GWT.