JSF 1.0 был первым выпуском спецификации JSF ( JSR127 FR1), выпущенным примерно в марте 2004 года. Он был довольно глючным и имел недостатки, а вскоре после этого был улучшен с помощью JSF 1.1 (JSR127 FR2) 2004. Позже он был заменен JSF 1.2 ( JSR252 ) примерно в мае 2006 года, когда в основном EL и обработка вида были улучшены и унифицированы, так что он больше не связан с JSP.
JSF 2.0 - это второй основной выпуск спецификации JSF ( JSR314 ), выпущенный примерно в июле 2009 года. Основные улучшения включают в себя использование аннотаций, параметризованных типов (обобщений), поддержку запросов GET, аяксические возможности , новый view
scope , возможность определения пользовательских областей действия , resource обработка и включение Facelets в качестве технологии просмотра по умолчанию (вместо устаревшей JSP).
Также см. Что нового в JSF 2?
Что выбрать, просто выберите последний. Будет лучше Это то же самое, что спросить, стоит ли вам выбирать Java 1.0 или Java 1.6.
Что касается Spring, то это просто инфраструктура IoC. Вы можете сделать так же хорошо без этого. В конечном итоге вы можете перейти на EJB или Java EE 6 CDI (Weld).