We've had some fun categorizing and performing high-level overviews of interesting lightweight and heavyweight publishing frameworks, attempting to draw out some observations that might give us some perspective on how presentation strategies can differ. Clearly, there is a distinction between the DOM-oriented technologies and the rest.
When looking at Cocoon and XMLC, they appear to be more closely related than XMLC and JSP. JSP Taglibs certainly represent a lot of promise (and industry activity) for delivering components of template engine functionality, but it appears likely to become an API library that is growing out of control. Cocoon is clearly the most comprehensive framework, addressing everything from publishing just about anything written in XML, to setting the stage for supporting languages other than JSP. But it is huge in its scope and capabilities, representing a daunting learning curve for most average-sized Web application projects.
I've provided many of the reasons why XMLC is different and wonderful. Perhaps another way of looking at it is that XMLC falls somewhere in the middle of a pure Java method to spit out content and a pure XML/XSLT strategy that strives to keep everything neutral with regard to system programming language, like Cocoon. XMLC is, perhaps, the best of both worlds, and definitely suited for a sizeable audience reflecting its current popularity.