Wicket and Lift are quite different beasts. I have some knowledge about both frameworks (but far from the expert level you usually see here):
Wicket: Each page on the web site has a HTML template page and a Java/Scala backing class. The Wicket magic is to connect the HTML template page to the corresponding class, and map each Wicket ID in the template to the correct method in the class so that data is visible in the generated HTML page sent to the client. That's it. Wicket is pure Web and nothing more. It i very easy to compose your own graphical components in Wicket and inherit from them.
Lift: Lift was created by David Pollak as a reaction to the problems he had with Rails. What he needed was performance and security. Lift is faster and more secure than Rails. It is actually very secure and handles SQL-injection, CRSF, XXS, replay attacks automatically.
Lift does the same thing as Rails (maps to DB), but is very different from Rails. The mental heritage from Rails is visible, since some of the APIs in Lift use Ruby syntax (with underscore and question marks in inspectors), something that might surprise the Scala developer. Lift is not a classical MVC-framework like Wicket, It is Model-ModelView-View. Actually Lift is more focused on the request-response cycle. It is meant to simulate the event driven GUI programming (like Java Swing or .NET GUIs). This means that HTML-elements and actions is written at the same place:
var inputName = ""
SHtml.text(inputName,s => inputName = s)
This code will create an input HTML tag like this:
<input type="text" value=""/>
and connect a function to a variable so that the input is stored. The structure is the same even if AJAX is used instead of HTTP GET/POST.
Lift is expressive and powerful, but not very easy.
Please correct me if this is not accurate!