By day I am a mild-mannered front end developer. I quietly style and configure small chunks of HTML on the public-facing side of a high-profile, national network of web sites. Behind me are a team of Java server-side developers, very clever people with the combined brain weight of something very clever indeed.
But by night I am a Drupal initiate, master of my own www.domain! I can build whole web sites on a whim, populate, publicise, nurture… and destroy if I am not pleased with the results.
Drupal, as we all don't know, is a very popular open source. In this respect it is similar to Joomla!, a CMS I have spent a lot of time with of late. The difference however is that Joomla! is like Lego® and Drupal is like Meccano®.
What this boils down to is that IMHO Drupal has a steeper learning-curve but is more… modular, whereas Joomla! is easier to pick up but with a little less hackability further down the line.
Using the CCK module in Drupal, you can easily create your own content fields, and with the Views module you can filter precisely what you want to show. Both of these will be in some part incorporated into Drupal 7, coming to a server near youi soon.
There is a "Content Construction Kit" available for Joomla! now as well called JSeblod CCK, though I have yet to use it.
The good news is that whatever your requirements, you have a choice. Both of them Free, both of them remarkably accomplished.