Camada de serviço vs DAO - Por que ambos?

Eu tenho trabalhado com SpringMVC, Hibernate e alguns bancos de dados em um exemplo de aplicativo da web java. Existem alguns diferentes que fazem isso, mas este tutorial de integração do Spring 3 e hibernação, por exemplo, tem uma classe model, view (em jsp) e classes service e dao para o...