Amigo atgomes, isso ai cara, se seu sistema no geral é baseado em componentes padrões como num “sistema desktop” (assim como no Flex), vá de JSF2 mesmo sem medo. Se depois desenvolver algo mais diferenciado, como portais, lojas virtuais ou sistemas de alto nível de personalização na UI vai se sentir melhor com a liberdade do Struts 2. Cada projeto você analisa o que for melhor. São dois frameworks muito respeitados, não tenha medo deles.
Sobre falarem mal sem apresentar prós e contras é coisa de religião. Claro que também entra o fator “gosto de cada um ou da equipe”, então escolha o que vai te dar mais prazer pra desenvolver e principalmente dar manutenção. Mesmo sabendo das vantagens dos frameworks component-based para determinados casos eu me sinto melhor com framework baseado em action, pois confesso que acho chato ficar lidando com mais uma coisa que só serve como intermediário, pois eu gosto de lidar diretamente com HTML e jquery, corre na veia hà tempo independente de linguagem server, reutilizo coisas através de plugins jquery e não quero ficar perdendo tempo aprendendo componentes “intermediários”, tendo que decorar e lembrar de um monte de propriedades particulares dos componentes, onde no final o que vale é o HTML mesmo. Enfim, me sinto mal olhando a view repleta de coisas estranhas. Nao que isso seja ruim, mas diferente do que gosto. Como o jakefrog já falou aqui tem que saber utilizar corretamente pra se sair bem no todo. E eu peso isso, prefiro enfrentar problemas em que terei maior apoio, com HTML, CSS e jquery puros terei o suporte de todas as comunidades web, como PHP, .NET, Ruby, etc. Além de conseguir trabalhar em outra linguagem server sem traumas quando for necessário num futuro, e já aconteceu no passado.
Sobre ExtJS poderia usar se fosse com Struts, embora seja mais completo, acho ExtJS intrusivo e pesado, prefiro jQueryUI.
Mas enfim, no seu caso JSF2/PrimeFaces com certeza vai cair muito bem se você gostar dele.