The benefit of not using a one sized fits all kind of framework, is that you have immense flexibility. Want to write your templates in more of a PHP style? Use string template instead of hiccup. Want to do it like JQuery on the server, use enlive. You have tons of options.
That being said, it's definitely new territory and not for the faint hearted. You will have to feel your way around a bit, but at the same time there is an extremely active and helpful community. The guy who works on compojure, for example, often responds in a matter of hours.
Now having written a fairly sizable app in clojure, I'll happily say it's by far the best experience I've had writing a web app. Once past the rough edges, there's just something to be said for generating your html in manipulable clojure structures that can be mapped over and all sorts of other fun things.
Oh, and good luck finding a tutorial for any recent version of Compojure or any of the components. Seems they rearranged all the code and broke it out into several different projects, which makes all the pre-0.4 tutorials useless.
So far it looks like the most helpful resources are: http://vimeo.com/8356990 http://stackoverflow.com/questions/3122749/good-current-docu... and http://cleancode.se/2010/08/30/getting-started-with-compojur...
However for me I love the power that comes with the fact I can piece together the parts I want easily after some initial experimentation, as they are all built to be independent of each other. Makes the workflow more fluid.
Though if I were to even want more of an "all in one box" solution I would be more prone to use Scala + Lift right now.
If you have any specific questions, I'd be happy to try and answer them. Also I'd love to get a sense for what you think is missing. I've recently started on some ideas for creating a more solid starting point for people, basically a simple framework for rapidly prototyping websites in clojure. The more I can get a sense for what needs to be in there, the better it'll be.
Overall I think as it exists now Scala has the best community particularly around web development. Much like the Django v Rails debate try them out and see what you like.
I know personally scala is second on my list behind Ruby.
If you decide to go with Haskell then you need to decide what kind of framework you want. I started with Snap and it I enjoyed using it but it doesn't have the high level functionality that Rails or Django do. I'm now using Yesod and it's great. It seems very Haskelly to me and the high level functionality means I don't have to write my own authentication system and persistence layer.
Firstly this ecosystem is not analogous to rails or django. The closest is that Compojure is similar to Sinatra i believe.
If you are looking at getting started with web programming in Clojure you need to get familiar with ring (the http abstraction) and look at Compojure and Moustache (routing and handler composition), and Enlive[4] and Hiccup[5] (templating/html generation). Compojure and Moustache are fairly similar, but Enlive and Hiccup are extremely different. A web application will consist of ring plus one of each layer.
As has been mentioned by others in this thread, the depth, breadth and currentness of documentation for these libraries varies. David Nolen has a great tutorial for enlive[6] that i would encourage anyone looking at these libs to work through. Enlive is one of the most compelling aspects of the clojure web ecosystem at present.
These libraries provide the core pieces you would expect to see in any web framework, but a lot of the smaller details are missing. Of note there is no ORM for clojure (for obvious reasons) - If you are looking for a good SQL abstraction you should look at ClojureQL[7] - and aspects such as form generation, validation and processing is still in early days.
My day job has me building web apps with Django. I wouldnt suggest that my coworkers and I jump to clojure / ring et al yet. The breadth of libraries and out of the box stuff in django is still a huge advantage for the day to day rapid web site / web app development, however clojure's story is improving rapidly and i think that the functional model is a particularly good fit for web applications.
I cannot compare clojure's story with the other languages and frameworks mentioned.
[1] https://github.com/mmcgrana/ring/
[2] This is true of compojure 0.4 and newer. compojure existed prior to ring (with hiccup as part of it).
[3] https://github.com/cgrand/moustache
[4] https://github.com/cgrand/enlive
[5] https://github.com/weavejester/hiccup
[6] There is a link in the enlive readme
[7] https://github.com/LauJensen/clojureql/I'm starting an extended and thorough series of technical articles regarding deploying Webmachine and Riak on Amazon Web Services on my personal website. Over the next week feel free to follow the articles and see what you think of Webmachine/Riak!