The biggest advantage is when removing packages; its dependency resolution is (supposedly) much better so it's able to find and remove orphan packages more accurately without hosing your system.
It's also got a much friendlier set of commands:
$ apt-get upgrade vim # aptitude upgrade vim
$ apt-get dist-upgrade # aptitude full-upgrade
$ apt-cache search # aptitude search
$ apt-get install --reinstall vim # aptitude reinstall vim
$ apt-get remove --purge vim # aptitude purge vim
The list goes on.
It's also got an awesome ncurses based interactive interface if you just type:
$ aptitude
Great for sysadmins who miss synaptic or anyone who feels like a GUI is just too mainstream.
apt-get also is able to remove orphaned libraries.
Among other "advantages" of aptitude, it can be terribly slower than apt-get.
And it has a "smart" dependency engine that often proposes convoluted solutions (involving uninstalling packages I don't want uninstalled) when apt-get will simply update the dependency and their dependents... But at least, if you don't agree with the first solutions, it has others (sometimes including the one apt-get chooses).
Aptitude has an optional screen-oriented GUI, much better search and filtering capabilities, a listing of "new" packages each time you update, and an excellent dependency resolver.
On Debian, I definitely use aptitude. However it hasn't been updated for Ubuntu's recent work on multiarch, and thus actions requiring dependency resolution are not usable anymore on many Oneiric installs (those that are amd64 with a few i586 packages).
I think there's a perception that aptitude can be to smart for its own good. From the Debian Reference:
"Although the aptitude command comes with rich features such as its enhanced package resolver, this complexity has caused (or may still causes) some regressions such as Bug #411123, Bug #514930, and Bug #570377. In case of doubt, please use the apt-get and apt-cache commands over the aptitude command."