Spring vs JSF???
JSF это просто фреймворк для построения пользовательского интерфейса. Он не включает в себя контейнер с бинами, работу с БД и т.п. JSF основан на JSP. Spring Framework это фреймворк для разработки веб приложений, в нем как раз есть все что нужно. В Spring MVC(часть Spring framework) пользовательский интерфейс строится с помощью JSP, поэтому изучите сначала его. В принципе все что можно сделать в JSF можно сделать и в JSP, только возни побольше.
Я только начал изучать ПДД, немного разобрался с обязанностями водителя, знаками. Начал разбираться с двигателем внутреннего сгорания, и понял что это дремучий лес, скажите если есть АВТОВАЗ нужно ли знать устройство ДВС, и в чем вообще разница?
Извините не сдержался.
Знать нужно все, хотя бы по немногу. Spring Framework покрывает немного больше потребностей разработчиков, нежели JSF. Начните со Spring Framework. А если жизнь заставит, то и JSF изучите.