JSP e JSF são especificações (e coisas) diferentes.
Cada página JSP funciona como um servlet, permitindo interagir com os seus servlets criados através de Expression Languages (ELs).
Já o JSF também utiliza das ELs para interagir o comportamento das páginas com a Servlet do JSF. Em JSF usamos as páginas XHTML e isso não é exclusividade do JSF, qualquer tecnologia pode usar. Já JSP não, isso sim é exclusividade do Java.
Como JSP se comporta muito bem com frameworks Action Based, como o Spring MVC, e possui já integração com ELs, nada mais justo do que usar a especificação do Java.
Frameworks Component Based como o JSF, utilizam XHTML por possuirem suas próprias integrações com as ELs e componentes.
Dito isso, respondendo sua última pergunta, é possível sim usar JSF com Spring, porém, cuidado. Spring é gigantesco e possui várias tecnologias. Uma delas é o Spring MVC. Não dá para usar Spring MVC com JSF.
O que dá para fazer é usar o JSF para lidar com front-end e componentes e usar o Spring no back-end para Dependency Injection (Injeção de Dependências) e gerenciamento de transações de banco.