Esse código cria um parâmetro de inicialização do contexto da aplicação. Ou seja, cria uma espécie de constante que será usada por todo mundo na aplicação. O valor dessa constante é “.xhtml”, e o nome dela é DEFAULT_SUFFIX. Provavelmente sua aplicação usa esse DEFAULT_SUFFIX para formar o nome da página que será acessada: NOME_DA_PAGINA + DEFAULT_SUFFIX. Tirando essa constante, seu programa tentaria, por exemplo, achar o arquivo paginaInicial ao invés de paginaInicial.xhtml.
Não, suas paginas .xhtml precisam continuar com a extensão. O problema de você tirar a constante DEFAULT_SUFFIX é que em um ou mais lugares da sua aplicação o DEFAULT_SUFFIX está sendo usado. Ou você deixa o DEFAULT_SUFFIX como está ou terá de alterar seu código nos lugares onde o DEFAULT_SUFFIX está, colocando direto no código (hardcoding)".xhtml".
O problema é que provavelmente esse DEFAULT_SUFFIX está sendo usado “por debaixo dos panos”, onde você não consegue modificar. Agora, por que você quer retirar o DEFAULT_SUFFIX? Algum motivo específico?
Pense nele como uma constante global que especifica a extensão das suas páginas.
Seria bom se alguém mais experiente comentasse mais sobre o javax.faces.DEFAULT_SUFFIX em específico. O que eu te respondi foi baseado nos meus conhecimentos sobre a tag . Estou lendo o livro “Head First: Servlets & JSP” e estou gostando bastante. Por coincidência, o último capítulo que li falava sobre ServletContext e ServletConfig, seus parâmetros iniciais e atributos. Aí vi seu tópico e pensei: “ei, li sobre isso ontem!”. Aconselho bastante a ler, pra quem tá querendo focar em Java Web, como eu.