I always kicked against open source CMS's quite heavily, mostly because I personally found that regular people, and by that I mean people who aren't in IT or web development, struggle to use them.
That was why I created my own CMS. The whole idea behind it was to be a very straightforward way of managing stuff in a database. It didn't have advanced things like modules or templates and stuff like that, the backend and frontend were two separate entities.
At the end of last year I had a client who really wanted me to do their site in Drupal, and even offered to pay me to learn how to work with it. Their reason is a good one - if I die (sounds a bit harsh, but it's a legitimate concern for a big client), who will be able to carry on with the site. Drupal is one of the top three CMS's on the internet.
Anyway, I was very reluctant, but I thought, hey might as well do it and learn something new. I started studying Drupal.
I watched numerous tutorial series about the general ins and outs of the system, how to create your own custom modules and how to make themes for the system (they call the "look and feel" of the website a theme).
I must admit, I am really surprised at how powerful a system it actually is. And with a little bit of tinkering, you can get it to do pretty much whatever you want! Uh, rather, A LOT of tinkering as was the case with my first Drupal site.
So far I have learned a great deal about how it works, and I can see that I still have a lot to learn, but if you're in the same boat as me, and have some knowledge in PHP, HTML and CSS, give Drupal a go. It's actually a pretty great system, and I look forward to developing more for it in the future.
Maybe I'll eventually post some of the tips and tricks that I develop for myself on this blog, so check back soon :)