I've been using Wicket for the past months and found something that it's a deal-breaker if you have a web application with lots of Ajax where you rely on asynchronicity. Wicket serializes client and server side requests for the same page. You understood it correctly: serialized. So, if you have multiple panels, all the requests will be serialized. The whole purpose of ajax for asynchronicity is defeated.
So, this is a big disadvantage and, although I've been a big Wicket advocate, I would not consider it unless I find a good and simple workaround.
For more context, see this JIRA I file with the Wicket team:
Update: I found an alternative. See this post.