The vast majority of frameworks available right now are designed for developing complex web applications. Most of the code in the other frameworks is designed to make life easier for the project's software engineers. JPublish deals with both the tools for applications as well as managing the content, providing site-wide templates, and providing a clear structural separation between designers and coders, by providing a directory structure with clearly defined boundries (actions are in the actions directory or in the classpath, design templates are in the templates directory, page definitions are in the pages directory, content is usually in the content directory.) JPublish is really designed for building web sites with some application logic as opposed to building web applications where the application logic is the most important component.
One other feature of JPublish that I think is important is that it is modular. The JPublish core is pretty stable at this point - additional features are added through modules (which are essentially collections of actions). For example, there are currently modules for: form processing and validation, EJB invocation, XML-RPC invocation and an O/R layer (through DataBind). I am also working on a module for using Quartz and am planning on a module for SOAP invocation.
The JPublish web site ( http://www.jpublish.org
/ ) includes a little bit of background as to why JPublish is the way it is, if you are interested in the history.