Well, here's the deal:
CakePHP is not perfect.
There, I said it. It won't solve all your problems. You won't stop getting headaches. It doesn't fit every possible situation. It won't have this and it won't have that. But it will do something.
CakePHP is based on conventions. If you're not ready to follow them, forget about it. You need to design your database properly, you need to layout your files properly, your code, your habits. If you're not up to it, go away.
It's really irritating to see people post things like "stupid cake is not doing this right", "this worked before, why is it not working with cake". Of course, the reason is probably this: you're doing it wrong. You need to do some research. You can't just throw up a pile of crappy database tables designed by a lunatic and expect Cake to deal with it. CakePHP does not understand lunatics. It's not supposed to.
This also means that you don't need CakePHP if you're going to create a site with only "home", "about" and "contact us" pages. Regular PHP is just fine. CakePHP, although the finest framework I've ever seen in my life, is not the holy grail of development. In some cases it will fail. But let's be realistic here: you and I will fail more often. That's all there is to it.
So next time you start thinking there's something wrong with CakePHP, do some research. You have The Book, the API reference, The Bakery and of course the unavoidable CakePHP Google group.
When you are 100% sure you've done everything OK - and you do need to be 100% sure - then ask a question on the group. Then, and only then you're supposed to ask if your problem is actually Cake's problem. The chances are: it's probably not.
Happy baking for those willing to keep up!