> "sessions are broken in CherryPy"
Honestly, that's the one part of CP I don't know a lot about, because I never use sessions. I have to admit we have a number of open tickets about sessions.
> "it's just a URL dispatch mechanism, nothing more"
It is a Pythonic* API for HTTP, nothing more. Dispatch is part of that. It really doesn't compete with Django, nor does it try to. CP has no database layer, no templating system, and no helpers (other than a tidy plugin) for HTML, Javascript, or CSS. It _does_ try to be a library upon which you could build a competitor for Django. Turbogears is one such competitor built on CherryPy, SQLObject (and more SQLAlchemy every day), Mochikit, and Kid.
There's really only one other thing to say about "CherryPy versus Django": as I see it, Django's development grew out of news sites, whereas CherryPy (and to some extent, Turbogears) grew out of "webapps" (CRM and such). I think that informs some design choices of each, differently.
* By "pythonic" I mean simple, using native Python idioms so completely that no Python user should have any frustrations with it. We're not there 100% yet. One of my goals for CP 3 is to make the learning curve permanently plateau after 15 minutes. ;)