As several responders said, it is not so much that a certain package format is clearly superior. Technically, they may be more or less comparable. From my perspective a lot of the differences, and why people prefer one over the other, have to do with:
- The philosophy of the original package design and the target audience
- The community size, and by extension, the quality and richness of the repositories
Philosophy:
In the Ubuntu/Debian/Mint/... world, users expect the installed package to "just work" once it is installed. This means that during installation, packages are expected to take care of everything needed to actually make them run well, including but not limited to:
- setting up needed or optional cron jobs
- setting up alternatives/aliases
- setting up startup/shutdown scripts
- including all needed configuration files with defaults that make sense
- keeping old versions of libraries and adding the right versioned symlinks to libraries (.so's) for backward compatibility
- clean support for multi-arch (32 and 64 bit) binaries on same machine
and so on.
In the rpm world -- admittedly this was the situation several years back, and it may have improved since then -- I found myself having to run additional steps (e.g. chkconfig, enabling cron jobs) to actually make packages really work. This may be ok for sysadmins or people who are knowledgeable about Unix, but it makes newbie experiences suffer. Note that it is not that the RPM package format itself prevents this from happening, it is just that many packages are de-facto not "fully done" from the perspective of a newbie.
Community size, participation, and richness of repositories:
Since the ubuntu/debian/mint/... community is larger, more people are involved in packaging and testing software. I found the richness and quality of the repositories to be superior. In ubuntu I rarely, if at all, need to download source and build from it. When I switched from Red Hat to Ubuntu at home, the typical RHEL repo had ~3000 packages in it, while at the same time, ubuntu+universe+multiverse all available directly from any Canonical mirror, had ~30,000 packages (roughly 10x). Most of the packages I was looking for in RPM format, were not readily accessible via simple search and click in the package manager. They required switching to alternate repositories, search the rpmfind service web site etc. This, in most cases, rather than solve the problem, broke my installation by failing to restrict what dependencies can or cannot be upgraded correctly. I hit the "dependency hell" phenomenon, as described above by Shawn J. Goff.
In contrast in Ubuntu/Debian I found that I almost never need to build from source. Also because of:
- The Ubuntu fast (6 month) release cycle
- The existence of fully compatible PPAs which work out of the box
- The single source repositories (all hosted by Canonical) no need to search for alternative/complementary repos
- Seamless user experience from click to run
I never had to compromise on older versions of packages I cared about, even when they were not maintained by official (Canonical) developers. I never had to leave my favorite friendly GUI package manager to perform a convenient search by keyword, to find and install any package I wanted. Also, a few times I installed debian (non Canonical) packages on Ubuntu and they worked just fine, despite this compatibility not being officially guaranteed.
Note that this is not intended to start a flame war, it is just sharing my experience having used both worlds in parallel for several years (work vs home).