JSF é a especificação para um framework de componentes para desenvolvimento web em java. Essa especificação foi definida pelo Java Community Process (JCP). [...] No entanto, o fato do Java Server Faces ser uma esoecificação idealizada por tantas empresas e gerenciada pelo Java Community Process, não significa que seja um produto concreto(JSF por sí só). Para ser um produto completo precisa recorrer as implementações do JSF como o Sun Mojarra e o MyFaces.
Com o Mojara ou MyFaces você desenvolverá seu projeto JSF. Essas implmentações permitem que você utilize todos os recursos do padrão como os compopnentes HTMLL dede fformulário, tabbelaas, laout, converesão e validação de dados e eventos, além de toda a inteligência para a interpretação dos arquivos de configuração e interação com o contêiner Java..
Fonte: Livro Java programação para Web, Décio Heizlman Luckow, Alexandre Altair de Melo, pg 72