Я бы сказал, JSF действительно очень хороший выбор. Если вы создаете приложение, которое обслуживает «миллионы пользователей», то чаще всего серверная архитектура гораздо важнее веб-инфраструктуры внешнего интерфейса.
Как правило, в веб-среде тратится лишь небольшой процент времени, затрачиваемого на обработку завершенных запросов. Большая часть времени всегда в БД и в IO. Получите это право, и вы в основном там.
Преимуществ JSF много. С ним очень легко работать, и он очень популярен. Это означает, что есть много книг, статей, блогов и форумов, чтобы помочь вам. Кроме того, относительно легче найти дополнительных сотрудников, которые уже знают JSF, чем найти людей, имеющих опыт работы с одной из менее используемых веб-платформ.
Тот факт, что JSF настолько популярен, также означает, что для него доступно множество библиотек компонентов и расширений. Это в целом делает вашу жизнь намного проще. Всегда быстрее использовать какой-либо существующий компонент, чем создавать его с нуля.