Debian unstable/sid is a rolling release distro too.
I've felt the pain of attempting to stage Drupal set-ups, and it's horrid.
Whilst people say "Just migrate the database from dev->staging->live" it's not that easy when it comes to the live server, because that will have changes mixed in with what you want to make changes to (e.g., user-generated content on the live site creates nodes, which share a node-numbering namespace with your dev-created new content). This is additionally complicated by Drupal putting all the config in the database, so you'll need to make changes to that when you push it live each time (since the dev server will have dev modules enabled that you won't want on the live site, say).
Separating the database changes you've made from the ones made on the live site (to allow you to merge them) leads to a whole set of options...
Drupal has lots and lots of different methods of working around this problem (just search for "staging" and "deployment" on drupal.org), but none of them really seems to work that painlessly -- they either require you to write all your changes as SQL scripts or to not use particular features (e.g., CCK).
Do all CMSes have this problem, or is it just because of the lack of separation which Drupal provides between live data, your own created data (from dev) and config?