Let's get the semantics out of the way first.
I think that the definition of a "framework" is a system of
"pre-cooked" code that can be used to build websites but
not actually a website itself, out of the box.
By those terms of reference,
WordPress, Joomla and Drupal are NOT frameworks.
They are CMS because out of the box they all provide
a working website that can be adapted and built upon.
The major PHP frameworks that I know of are
Zend, CodeIgniter and CakePHP.
The first one, Zend, is kind of the mothership of all PHP frameworks.
It's run by the guys who started the whole PHP project, so it has
rock solid credentials and you know its going to be around for ever.
If you want to get a job working on enterprise size PHP systems, I think Zend Certification is a must.
Having said that, it's kind of overkill for most freelance developers or hobbyists working on small to medium size projects.
It has a large code footprint (about 28MB I think) and your host will
need to provide SSH access to run the necessary command line functions.
Setup is a bit labourious I believe.
As for the other two, CodeIgniter and CakePHP, I'm sure they are both good systems and each has its strengths. Both are far more lightweight than Zend (e.g. CI has a code footprint < 2MB, I believe). And you dont need command line access for either.
The CodeIgniter project seemed to have some organizational problems a while ago but it looks like they have sorted those out now. The project has been moved to GitHub and they are crowdsourcing patches and improvements so future development looks assured.
If good old Google Insights is any guide, CI would seem to be on a promising growth trajectory, which is surely one important factor to consider before investing your time to learn any framework, CMS or ecommerce package.
http://www.google.com/insights/searc...cakephp&cmpt=q