I think you'll find every thing you need in the Debian doc: http://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_literal_apt_get_literal_literal_apt_cache_literal_vs_literal_aptitude_literal
Quote: The difference between "safe-upgrade"/"upgrade" and "full-upgrade"/" dist-upgrade" only appears when new versions of packages stand in different dependency relationships from old versions of those packages. The "aptitude safe-upgrade" command does not install new packages nor remove installed packages. HTH