I've been considering switching from Debian sid/unstable to Ubuntu. I've been using Debian unstable for a few years now, and overall its been great. Apt is an excellent package manager. There are a huge number of packages available in the repository and I can almost always find what I'm looking for. Some of the packages are very bleeding edge, for example they had a PostgreSQL 8.1 package the day it went final. Though in other cases, usually when they are nearing a stable release, some packages are far from bleeding edge and very much trailing edge. There have been occasional broken packages which are fixed in a few days, especially when massive changes are in progress such as gcc or KDE upgrades. Lately things have been especially bad.
Overall, Debian unstable has given me a complete, current system which was easy to administer except for the occasional challenge when things break. The occasional things breaking (due to constant upgrades) is what made me want to try out Ubuntu. Debian stable is great, but the ~2 year release cycle is way too long for me, I need current packages much sooner than that. Debian testing is simply not for use other than actually testing for what is going into a stable release (unstable is less problematic than using testing). So Ubuntu, with its Debian-derived system, 6 month release cycle, open and active community, and paid developers, is very attractive. Also, I've liked what Mark Shuttleworth has had to say in interviews, it really sounds like he genuinely wants to make a contribution if nothing else.
So the other day something happened that put me in the position of trying Ubuntu. My Debian system got hosed. I was upgrading packages, and one of those packages included glib 2.0 (which a large portion of the system depends on). This installation failed, leaving me in a state where no program would execute without a segmentation fault. When I rebooted, it got stuck.
I couldn't find a good solution to repair this in a timely manner, and I only had recent backups only essential files (/etc, /home). It probably would've taken me much longer to figure out how to repair the problem (since I didn't know exactly what happened) than to just reinstall the system.
Reinstalling Linux is generally a pretty painless process (unlike Windows). I have a 10GB root partition that doesn't include my home directory, so I copy that somewhere, wipe it out, and install the new version to that partition. Then copy over the original /etc directory, create mount points, copy over a few other files, install Java; and I'm good to go.
I like to start from scratch with my packages. I could retain a list of my packages from the previous install, and then install all those packages, but I'd rather lose all the cruft that accumulated (e.g. packages I simply don't use anymore). I start with a minimal install and slowly install packages as I need them.
So this time I figured I would try Ubuntu, since the process would be similar. I wiped out the 10GB root partition and installed Ubuntu. I didn't replace the whole /etc directory with my old one, because I'd like to retain as much of what Ubuntu sets up as I can. To get my users from the old system working, I copied over passwd, shadow, and groups (backing up the entire /etc directory Ubuntu created first). And that's the only thing that has caused me trouble so far. Trying to install packages was giving me an error. Something about statoveride and user hplip not existing. I looked at the Ubuntu-created passwd file, and there was the hplip which didn't exist in my Debian passwd file. So I created the user hplip and give it the same properties as the Ubuntu version of it. Packages installed with no problem after that.
The first thing I wanted to do was get my IMAP mail server up and running. So I go to install spambayes (which I use for spam filtering), but its not in the main distribution. I had to comment out a line in /etc/apt/sources.list to enable "universe" to get that package. Then I copied over my /etc/courier directory, then installed courier-imap. After that it was up and running.
Next I needed Sun's Java JDK installed. The process is exactly the same as the method used for Debian. The only thing was that to be able to install "java-jpkg" package I had to add a line for multiverse to sources.list:
deb http://us.archive.ubuntu.com/ubuntu breezy multiverse
This repository is for non-free files.
So far so good. I haven't installed a lot of the packages I normally use yet, such as Konqueror and Amarok (and all of KDE), so its yet to be seen how things go. So far I've found one package that doesn't exist, Azureus, but that is a Java app and usually its better just to install Java apps manually into my user account's home directory.