Linux-style package management is a lot more useful for servers, where you have fairly tightly controlled distribution requirements. I find it an encumbrance on desktops where I often want to update individual apps or keep several versions of a single app side-by-side.
The number of people I run into with outdated 3rd party programs with security flaws under windows and os x suggests it is a pretty killer feature for the desktop to me. Some of these folks are even rather technical, but for whatever reason don't approve the updates from the variety of checkers that pop up randomly or late.
I have Python 2.5, 2.6, 2.7 and 3.x, but I am a programmer who writes lots of Python. And they were all very easy to install (2.6 and 3.x from packages, 2.5 and 2.7 from source). I also have two different releases of Eclipse (I also write lots of Java).
Package management frees you from managing the software you don't want to manage, like MySQL or Apache. I want to manage my languages.
As a desktop user, you might not need this a lot. Sometimes when you have a new version of a software that's really cool but a bit buggy and you keep the old version to get work done. Case in point: Blender 2.4 vs. 2.5.
As a programmer, I would need this all the time. Sometimes you need several versions of a certain programming library or language implementation like Python or Ruby interpreters. I also need several versions of GCC, I have one native compiler for C++0x, a cross compiler x86_64-pc-elf for my hobby operating system project and another cross for arm-eabi-none that I use to hack system-on-chips at work. I get my GCC from Git sources.
Nix (http://nixos.org/) is a package manager that allows you to install multiple versions of the same software. NixOS is a Linux distro based on that package manager. You can also use Nix in your home directory on top of another distro.
Unfortunately I have not had the time to try Nix. Anyone else tried it?
PS. I was visioning a "versionless package manager" that downloads sources from Git repos, builds and installs them and keeps the build files for fast updates via incremental build. I only need a name for the thing, which is better: "vpm" or "dll hell 2.0"?
portage on gentoo has this kind of functionality, although it needs to be enabled by the package, producing multiple 'slots' which can each hold a different version of the same software. GCC by default works like this, as does python between major versions. It can also do compiling from git although I don't think it keeps the build files around, but with ccache you can somewhat mitigate the recompilation time.
FreeBSD has the ports collection [1] and pkg_add [2] with --remote. The range of software I can get from those is wider than with many Linux distributions, and it's often much more up to date. And yes, they can automatically handle dependencies.