For the open source CMS's you can look at opensourcecms.com they provide a large collection of CMS's that you can play around with a bit to see their user experiences.
I mostly know about Drupal and Joomla!, both of which have fairly active communities, and are highly flexible, with good plug-in libraries and frameworks. My sense has been that for the past two or three years Drupal has been more active, and is starting to pull away a little in popularity.
I disagree with others here that you should role you own. I think programmers often have an instinct to build their own instead of work with something existing. Before Django, you often heard PHP programmers say it was so easy that you should just do your own. The biggest reason I said not to build it yourself is that getting the security just right is hard. If you want to allow people to interact with your site in flexible ways, getting the security open enough to be useful, but tight enough to be safe requires spending lots of time thinking like a bad guy. The larger communities have lots of real world experience and have had to deal with attacks before, and they know the first couple thousand mistakes not to make.
Oh, and knowing an existing CMS is a salable skill. There is plenty of work for Drupal developers these days.