The answer is not easy. The answer is "it depends":
GWT:
- if you know and like Java
- if your server code is also written in Java, writing client code in Java makes it possible to use the same code on client and server
- if you like things provided by strongly-typed languages: compile-time type checking, automated refactoring, automated code generation (Ctrl+1 in Eclipse), code completion (Ctrl+Space)
- if you like component-oriented programming (eg MenuBar creates a menu)
- if complexity of GWT (compared to jQuery) is not problem for you
- if big generated code is not a problem for you
jQuery:
- if you know and like JavaScript
- you don't need to use the same code on client and server (eg. client - JS, server - Java or PHP)
- if you don't need compile-time type checking, automated refactoring, etc
- if you don't need component-oriented programming (to create a complex component in jQuery you need to create a series of divs, and call $("those divs").makeXXXXControl())
- if you like simplicity (jQuery is simpler than GWT)
- if you need very small code (eg to make website loading faster)
Personally I would recommend GWT for most projects, but jQuery also has pros and some people may prefer jQuery.