CakePHP vs CodeIgniter, Joomla, Drupal or Wordpress

Some background:
I have recently been digging deep into Wordpress and really love its ease of use and extensibility using the loads of free plugins. I also appreciate the huge community available which means that if I need to achieve some custom behaviour I can usually just google it and find it on one of the wordpress recipe sites.

The websites I’ve been developing are mainly small scale websites such as businesses, restaurants etc. and although Wordpress is primarily recommended as a blog software, I have found it to be excellent for uses as a CMS (given that you have to do some research and add a few plugins to achieve some nice CMS functionality).

I also know my way fairly well about the Joomla CMS, as a site administrator (administration, knowledge of available components etc.) but not for custom programming.

I had also used CakePHP for building an application, but I am only average at PHP and it was a constant battle to twist CakePHP into behaving as I wanted for my application. I understood the MVC concept but felt a bit out of depth in the PHP code.

From the research I’ve done till now, and my general impression, I would qualify systems as follows:

CMS systems:
Wordpress, Joomla

CMS/Framework systems:
Drupal, ModX

Framework systems:
CakePHP, Code Igniter

I am also of the impression that the further you move towards a pure framework, the harder things are if you do not program PHP naturally on a frequent basis.

Now looking forward I would like to further my PHP knowledge and select a system which would enable me to build more complex/custom systems in the future, rather than the run-of-the-mill company/restaurant/services website.
Some examples could be shops with ecommerce facility, social websites, membership and download websites, job search websites, hotel booking systems etc.

Thus finally my question for discussion is whether in my position one should keep to wordpress and become so proficient that I would be able to create any of the aformentioned types of websites with wordpress itself, or move to Joomla (which I think has a few more features for creating such websites), or even move on to Drupal/ModX or learn how to use a framework CakePHP/CodeIgniter.

Sorry for the long post, tried to explain myself in the best way, I think there might be many people in my position as well so it might be helpful to have some opinions from some more experienced guys.

What are your opinions? thanks

any opinions please?

I might be a bit biased since I have been using drupal for some time but, if you intend to build more complex sites I would think drupal is a good option to explore. There are a lot of modules so, getting basic features up would be pretty easy. However, if you need to customize your site beyond what is available through contributed modules, you will have to make your self familiar with drupal and need some php skills. ( You can get a lot done in drupal without being too good at PHP). Drupal is very flexible and you can build almost any kind of site with it but, for simpler sites (like blogs) u’d be better of using wordpress.

Thanks for your opinion