Dynamic and/or flexible content types First of all, apologies if this has already been covered, but since I have no idea of what I'm looking for, it's a bit hard to find information about my problem.

Then, the problem: I'm looking for a way to create pages with any number of any type of (pre-existing) fields. For example, I may want a plain old page with its body text and that's it. Then some day I might want a page with body text and a picture gallery, and that's also easy. Then I might wake up one morning and want to have a page with a gallery to begin with, then some text, then another gallery, then a list of mp3 files. And then whatever I need on a daily basis.

Now, as this is for my personal web site, I could easily get my hands dirty with HTML and be done with that, but suppose one day one crazy client of mine comes up with a similar request. What am I supposed to do? Surrender to the evil "15yo nephew" that "can do it no sweat in a matter of hours and a fraction of your paycheck"? See, I use my web site as sandbox/gym to prevent situations like these :)

Any suggestion is welcome (although I'd rather keep Panels as a last resort, and I'm not even sure it does what I'm asking).

EDIT Here's a good example of what I'm trying to achieve, except that that site is uses Wordpress so I'm guessing everything has to be done by hand
A CMS like Drupal is a way to create structured content types to make it easier to author large numbers of pages with the same structure. This is actually great from a user experience perspective, as the user expects information to be presented to her in a consistent manner from one page to the next.

The user will be fine with multiple presentation types if the information architecture is consistent, but if your structure is all over the map, the user will quickly tire of having to figure things out.

So for the majority of your site, plain old content types will probably serve you best. 

If you are talking about overview pages, then getting used to Panels will probably make it something other than a 'last resort'. It is quite powerful, and customizable. The alternative, if you wanted daily customization, would be to create a single content type, and add and remove fields at will. However, I believe that after a while you are going to wish you had selected to use panels. Eventually you are going to want to re-use something you had before.

When you are using a CMS, think in terms of building blocks, and how to combine them to reach your goals.