Qual é a diferença entre criar páginas JSF com extensão .jsp ou .xhtml ou .jsf

Vi alguns exemplos criando as páginas JSF com.jsp, outros exemplos os criam com.xhtml extension e outros exemplos escolhem.jsf. Gostaria apenas de saber qual é a diferença entre as extensões acima ao trabalhar com páginas JSF e como escolher a extensão apropriada?

questionAnswers(2)

yourAnswerToTheQuestion