In my opinion frameworks are not exactly tools, but rather toolboxes. There are of course differences, but as pointed out by another user (in this post), they all have the same purpose; to render a site.
I think you're somewhat wrong on that "each framework for each thing". Why? A framework is often not something you get used to over night. It's not much helpful using frameworks if you have to read up on them all the time. Besides it takes time to master a framework completely.
And then we have Zend Framework. I honestly don't get it. I've tried it out and I really didn't like it. It does definitely not speed up your development process. There is too much work to do. Work that really shouldn't be necessary. Sure, it might be flexibel and all, but it's kind of stupid using that much time on it.
I'm currently not really sure on what framework to choose though. I like CodeIgniter because it's so easy to get started on and can be extended rather easy. It's not bloated and does what it should do. An ORM would be nice, but it should be possible hooking it up to Doctrine or something similar.
CakePHP seems alright as well, although it seems like it takes time to really understand (yey for lazyness.)
Right now I'm going for my own framework though. There is always some stuff I hate about frameworks. That won't be a problem using my own. In the end it really just comes down to preferences. Have a look at various frameworks, check out if you like the idea and if it's still being updated (nobody wants something thats suddenly full of security holes and alike.)