I can only speak on the behalf of Yesod, since I have only tried Snap and Yesod so far but quickly stuck with Yesod.
The main reason for Yesod is probably that it delivers a complete framework with a growing numbers of features, like
- Typesafe Routing
- Splitting into Subsites
- Database integration with Persistent
- Pre-made subsites for re-occuring problems: Authorisation, Static, CRUD...
In my eyes, the big strength of Yesod is the compilation of its dynamic contents, e.g. HTML sites. The template site is parsed via Template Haskell and converted into a Haskell data structure. So the template is not parsed every time the user calls it. In my opinion, this is a major speed advantage, compared to PHP, and also to Snap which uses non-compiled templates, and it also helps a great deal for the scalability.
Yesod is approaching version 1.0 soon, according to its creator, and there are some Websites already running on it. I think the main target of Yesod is to deliver a type-safe, complete web application framework that delivers all your needs, and then some.
Also, Yesod integrates with the WAI-interface and works perfectly with the pure Haskell-server Warp.