As a debian-based linux user I am naturally confronted with package management. There seem to be two different tools to achieve the same means: Aptitude and apt-get. I use Aptitude because someone, sometime, told me it was the better of the two. Up untill now I had no real clue on why it was better. I decided to find out :)
One tool to rule them all....
The first point aptitude scores is the fact that there is one command with readable sub-commands (or whatever you call them) instead of a bunch of tools like apt-get (seriously, remove a package with a command called apt-get?), apt-cache, apt-rdepends and more. Just compare aptitude search and apt-cache search and you know who the winner is. The difference between aptitude (one clear command with a nice naming strategy and ordered output) and apt-get (a chaos of commands and a chaos in output) can be a dealbreaker to some, but I only described an aesthetic issue and an inconvenience at worst. There is however another benefit aptitude provides over apt-get.
No more orphans!
Apt-get automatically finds dependecies and installs and configures dependant packages. This was once a great step forward compared to RPM. Something is missing though. The dependency resolving is not a two-way process. Apt-get will happily remove a package but it will never check if the packages which it depended on are also no longer needed. Aptitude however, does just that! Say, for instance, you installed package X and package X is dependant on package Y. Both tools would automatically install and configure package Y. Only aptitude would remove package Y when you try to remove package X though.
There you have it. Aptitude offers a superior interface to your package management, which alone should suffice. On top of that it prevents your system of filling up with unwanted orphans. Aptitude - apt-get: 2-0!