O JSF 2.0 possui quatro escopos
@RequestScope: todos os objetos armazenados no escopo request, sobrevivem apenas a uma submissão ao ciclo de vida do JSF (os quais irei explicar em outro post). Com isso temos uma duração que condiz com a requisição sendo enviada ao servidor, e este devolvendo a resposta ao usuário que disparou a ação. Possui o menor tempo de vida dentre os escopos, desta forma, os objetos permanecem por pouco tempo em memória sendo esta liberada com maior frequência e com isso temos uma aplicação que tende a escalar melhor.
@SessionScope: todos os objetos e atributos vinculados ao ManagedBean, sobreviverão durante toda a sessão do usuário. A sessão é definida pelo vinculo do navegador do usuário com o servidor. Desta forma, se usuário abrir dois navegadores, ele estará criando duas sessões com o servidor. Este escopo era muito utilizado nas versões do JSF 1.x, para se trabalhar em casos onde era necessário manter o estado de objetos, atualmente esta necessidade, muitas vezes, pode ser resolvida através do View Scope.
@ApplicationScope: tudo armazenado neste escopo permanece enquanto a aplicação estiver executando e é compartilhado entre todos os usuários. É recomendado sempre que for necessário guardar informações que podem ser utilizada por diversas partes da aplicação como parâmetros e também implementar funcionalidades para prover comunicação entre usuários. Este escopo também é interessante para se trabalhar com caches manuais de valores, como exemplo lista de estados.
@ViewScope: adicionado a partir da versão JSF 2, foi criado para resolver o problema de sempre utilizar session quando era necessário manter os dados entre requisições e que não onerasse tanto a aplicação. O View Scope oferece suporte ao modelo statefull do framework, onde é possível manter os dados durante quantas requisições forem necessárias, desde que todas estas sejam realizadas para a mesma view. Caso seja executado uma requisição para uma pagina e/ou ManagedBean diferente, o escopo é limpo, evitando assim que objetos não utilizados se mantenham vivos por muito tempo (caso que ocorria no escopo sessão).
Fonte: https://www.portaleducacao.com.br/informatica/artigos/56539/entendendo-os-escopos-no-jsf-javaserver-faces