Having said that, Cake does not enforce separation of business and display logic like the Django templating language does. Unfortunately, my predecessor took great advantage of this, defeating much of the purpose of MVC.
All in all, I like Django better, but CakePHP gets the job done.
The claim that they are more trouble than they are worth is also a common misconception. Yes, in some situations for very small projects, frameworks are probably unnecessary, but it really helps to not reinvent the wheel when it comes to security, form validation, database management, caching, and any of the other repetitive things that frameworks try to standardize.
I'd recommend taking a look at Codeigniter, I've been using it in production for 2 years and have completely enjoyed it. It is very well documented easy to use, and flexible... and since it's been opened up to the community with the codeigniter-reactor branch there is much more development taking place.
I've also started working some with FuelPHP http://fuelphp.com/ which is a new framework but also very well documented and makes great use of the features php5.3
I wouldn't recommend CakePHP though. From what I've seen it is bloated and tries to do too much auto-magically (like rails) but fails to execute as well.
Using a framework, you change the $config['driver'] from "mysql" to "postgres" and you're good to go.
Without using a framework, you need to change every query your application makes. Good luck with that. If you don't have to do that because you standardized it yourself with a bunch of functions then you actually are using a framework, just one you made yourself rather than an open source one.
Supports 5.2+ only, nice ORM, and has a cool autoloader system that I really like. Make sure you have an opcode cache in production though :-)
clickable: http://www.phpframeworks.com/