Quando penso em sistemas internos (intranet, etc…), fico com duvida se ainda vale investir em JSF com Primefaces (ou outro framework de componentes para jsf).
Temos diversas opções no mercado:
Os “Desktop na web”: Vaadin, Ext GXT, ZK Framework,SmartGWT.
Ou Bootstrap, Angular, React, entre outros.
JSF nunca foi uma boa solução, é engessado e pesado.
Você não é obrigado a usar essas ferramentas. Tem que partir de HTML, CSS e JavaScript. Ferramentas virão conforme a real necessidade, senão pode trazer complicações, dependencias fortes e peso adicional sem ter a menor necessidade. O ideal é aprender CSS, mas se está com prazo, Bootstrap é um css pronto para casos comuns, de fácil customização e com documentação bem prática direto no código do site.
JSF é bom pra seguinte necessidade:
Sistema interno com uma quantidade alta de CRUDs (desde que sejam sem mta frescura),
A equipe não entenda muito de design e queira algo “bonito” sem mto trabalho com CSS/HTML.
E entre as opções que vc citou (Vaadin, Ext GXT, ZK Framework,SmartGWT) ele ainda é a opção mais popular, logo terá mais documentação/help e etc…
Agora fora isso, o ideal seria trabalhar com HTML/CSS msm…