“Recommends“ and “Suggests” relationships mostly have an effect on package installations, and sometimes removals, not on upgrades.
At installation time, depending on its configuration (
apt will automatically install any packages which are recommended and/or suggested along with the package carrying the recommendation or suggestion. The default settings enable this for recommendations, not suggestions. Packages installed in this way are marked as automatically installed.
At removal time, removing a package will cause
apt to remove packages depending on the removed package, but it won’t process recommendations or suggestions.
apt autoremove will then look for any package which is marked as automatically installed, and which no longer has any depending package (including recommendations and/or suggestions, depending on the
Apt::AutoRemove::SuggestsImportant settings); any such package will be removed. The default settings keep recommended and suggested packages (which is asymmetric compared to the installation defaults, but avoids surprises).
At upgrade time, only installed packages are considered.
apt upgrade tries to upgrade all installed packages to their candidate versions, without removing any package.
apt full-upgrade (or
dist-upgrade) considers removing packages if it allows other packages to be upgraded, but it won’t remove a package just because it stops being recommended as a result of the upgrade. Packages which are newly recommended or suggested by an upgraded package aren’t installed automatically. Packages which are no longer recommended or suggested become candidates for the next
aptitude behaves slightly differently; it will perform the equivalent of
apt autoremove when removing packages, and it will tell you about newly-recommended packages (but it won’t select them for installation automatically).
The following questions provide complementary information: