I think the reason some prefer apt is that aptitude has more finely grained dependency handling and the dependencies have grown tremendously over the years (over 40,000 discrete packages now). Even though apt will not break anything, it's never a bad idea to use aptitude as it always offer solutions. It's slower to search than apt-cache but it is much more powerful in searching. Aptitude does a LOT more than apt-get. It like an apt-*
I really use them interchangeably, and synaptic and other tools as well. It really doesn't matter.
But here's a copy / paste of the major differences:
- aptitude will automatically remove eligible packages, whereas apt-get requires a separate command to do so
- The commands for upgrade vs. dist-upgrade have been renamed in aptitude to the probably more accurate names safe-upgrade and full-upgrade, respectively.
- aptitude actually performs the functions of not just apt-get, but also some of its companion tools, such as apt-cache and apt-mark.
- aptitude has a slightly different query syntax for searching (compared to apt-cache)
- aptitude has the why and why-not commands to tell you which manually installed packages are preventing an action that you might want to take.
- If the actions (installing, removing, updating packages) that you want to take cause conflicts, aptitude can suggest several potential resolutions. apt-get will just say "I'm sorry Dave, I can't allow you to do that."