Só posso falar em nome de Yesod, já que experimentei apenas Snap e Yesod até agora, mas rapidamente fiquei com Yesod.
O principal motivo para o Yesod é provavelmente que ele oferece uma estrutura completa com um número crescente de recursos, como
- Linguagens de modelo Typesafe para HTML, CSS e JavaScript
- Roteamento Typesafe
- Dividindo em subsites
- Integração de banco de dados com Persistent
- Subsites pré-fabricados para problemas recorrentes: autorização, estática, CRUD ...
A meu ver, a grande força do Yesod é a compilação de seu conteúdo dinâmico, por exemplo, sites HTML. O site do modelo é analisado via Template Haskell e convertido em uma estrutura de dados Haskell. Portanto, o modelo não é analisado toda vez que o usuário o chama. Na minha opinião, essa é uma grande vantagem de velocidade, comparada ao PHP, e também ao Snap, que usa modelos não compilados, além de ajudar bastante na escalabilidade.
O Yesod está chegando à versão 1.0 em breve, de acordo com seu criador, e já existem alguns sites na Web. Penso que o principal objetivo do Yesod é fornecer uma estrutura de aplicativos da Web segura e completa, que atenda a todas as suas necessidades e mais algumas.
Além disso, o Yesod se integra à interface WAI e funciona perfeitamente com o puro Warp do servidor Haskell.