For example, one might write a page like:
(defn user-settings [user]
(settings-for [user]
(breadcrumbs (link home) (link settings))
(text-field :login)
(text-field :email)))
And the functions used would take care of generating the page, layout, form, fields, error notices, flash messages, CSRF protection and so forth. By the time you've finished with all that, those 4 lines of Clojure will be 50 lines of HTML.Hiccup tends to lend itself toward user interfaces that are uniform and predictable, with repeatable elements. Think Facebook or Github, for instance.