Boa noite Jhow,
Uma single page application é uma aplicação inteira feita em uma única página. Apesar de ela ser feita em uma única página ela simula o comportamento de uma aplicação com múltiplas páginas. Fazendo transições e exibindo conteúdos diferentes de acordo com as necessidades do usuário conseguimos criar um cenário onde o usuário não consegue diferenciar uma SPA de uma aplicação comum.
Como toda a aplicação roda em uma única página todo o conteúdo da aplicação já foi baixado (exceto informações do banco de dados). Dessa maneira as transições rodam rapidamente de modo que dependemos somente de uma interação rápida com o banco de dados para criar uma aplicação que aos olhos do usuário pareça rápida e eficiente.
Com a ajuda de chamadas ajax conseguimos buscar informações no banco de dados e atualizar nossa aplicação sem a necessidade de recarregar a página, dessa maneira a aplicação fica ainda mais dinâmica.
Vou deixar este artigo com mais algumas informações que podem ser interessantes.
E aqui alguns exemplos de SPA's.
Abraços