Speaking of aptitude, it does remove automatically installed package if no other
package depends on it, or recommends it. This behavior can be changed by
configuration entries in /etc/apt/apt.conf, /etc/apt/apt.conf.d/*, etc.
To show any installed packages that aren't "auto" and which are dependencies or
recommendations of other packages, in short, packages that aren't marked "auto"
but could (should?) be, order
aptitude search '~i!~M(~R~i|~Rrecommends:~i)'
Go through this list and, as root, mark the ones you don't need with
aptitude markauto PACKAGE
aptitude search '~g'
shows what can be purged from the system.