Qual Framework utilizar?

Olá pessoal, estou iniciando em JSF, e tenho que implementar um sistema ano que vem como conclusão de curso da minha faculdade.
Tenho ouvido falar em alguns frameworks para trabalhar com JSF, com IceFaces, Primefaces, etc.
Gostaria de descobrir o que são esses frameworks, são somente bibliotecas com componentes, e por que são utilizadas?
Sou novo no desenvolvimento web, e ainda estou em fase de aprendizado.
E algum conselho ou dica seria muito bem vinda também.
Faço faculdade, de Análise de Sistemas e Tecnologias da Informação, Bacharel em Desenvolvimento de Sistemas.
Valeu pessoal, agradeço desde já.

Cara eu acho que vc poderia dar uma pesquisada no Seam framework do JBoss…Ele é muito bom.

Existe um muito simples chamado “Next Framework”. Em pouco tempo você já aprende como utiliza-lo

Por favor use a busca do forum, tem 890234890234890234980234890234 milhões de tópicos como esse.

Obrigado!

Ué, como assim cara? Ele não pode perguntar? O framework bom de ontem pode não ser o bom de hoje.
Eu só estou respondendo isso pq eu me frustrei ao procurar por livros de java (avançado) aqui no forum. Não existe nenhuma referência descente que seja atual. Existe 129038190238901283 de tópicos a respeito, mas nenhum dele ainda vale!

Ricardo muito obrigado pela força.
Na verdade eu tentei perguntar em um outro tópico que era a respeito do Primefaces, mas não fui respondido.
http://www.guj.com.br/posts/list/220688.java#1128870
Na verdade estou iniciando em java para web, é qualquer opnião seria muito bem vinda, e ficaria muito grato.

Se vc já tem base de Java, vá em frente. Agora se estiver iniciando em java, sinceramente eu recomendaria fazer uma aplicação Web usando Python + Google App Engine. Basta ler os tutoriais que vc estará fazendo uma app em um dia, e não vai precisar se extressar com BD, controle de acesso e 500 mil frameworks que existem em Java.

Outra teconolgia bacana é o Flex, que vc pode integrar com Java no Back End.

[]s