SQLObject creates join tables for you when you use RelatedJoin column types.
SQLObject dynamically creates add and remove methods for managing the relationships contained in those join tables
When you write unit tests, you can use them to make sure changes don't break your application.
Each of the HTML form elements has a matching TurboGears widget, and you can bundle those widgets together and have TurboGears create forms for you dynamically.
TurboGears form widgets know how to display validation errors on the same form where they are rendered. And, all of this can be done automatically for you when you use widgets.
CherryPy turns additional URL pieces after a matching method into positional parameters. You can then use these parameters in your code and use URL structures as part of your controller object's public API.