Struts ne, to je hodně těžká prehistorie.
Obávám se, že lidi co by měli větší zkušenosti ve více frameworcích aby mohli regulérně porovnávat asi moc nenajdeš, natož v těchhle konkrétních. O Vaadinu jsem slyšel, ale reálné zkušenosti nemám. Ve Wicketu jsem programoval pět let, programuje se v něm dobře, používá ho dost velkých firem, z bank třeba Air Bank nebo Fio.
Pokud chceš zůstat v Javě a HTML renderované na serveru vyhovuje, tak je to dobrá volba. Client-side frameworky jako React nebo Angular mají nějaké výhody, ale zas také nevýhody (nad to, že je to jiný jazyk a ekosystém). Pokud je to administrativní aplikace, tak server-side docela stačí. Kdybys tam ale měl řešit nějaké real-time aktualizace, tak je to spíš na ten client-side.
Souhlas. Pro komplexnější úkoly porovnat Wicket vs. Vaadin a pro malé věci použít cokoli z těch mikro frameworků (mě vyhovuje ten sparkjava + velocity, na db používám jdbi3). Pokud to má být v prohlížeči hodně živé, je potřeba aby se to renderovalo client-side.
Pro business aplikace typu správa objednávek atd. je ještě možnost Sencha Ext JS
https://www.sencha.com/products/extjs/ kde se dá pracovat jako při vývoji desktop aplikace (ale neplacená community verze je bez podpory).
A ještě je zajímavý Apache Isis
https://isis.apache.org/ který má domain driver development (administrace se generuje z doménových objektů, má to automatickou podporu REST Swagger, na pozadí ORM persistence) a vypadá to hodně dobře (Apache Isis™ provides your apps with a standard, automatically generated UI. Apache Isis™ is open source, built on industry/de-facto standards, there's no vendor lock-in.), ale zatím jsem se nedostal k tomu to vyzkoušet.
Podobně funguje Brightspot Headless CMS
https://www.brightspot.com/ ale na vlastní architektuře a vlastním řešení persistence. Ačkoli jsou některé verze na githubu, tak je tam nulová podpora neplacené verze a neřešené bugy. Jsou to oboje komplexnější řešení.