lloyd wrote:A lot of times, it removes the program AND its dependencies.
Usually that should not happen, because that would mean dependencies are broken. If you install app "A" which requires dependencies "B" and "C", those are automatically installed as dependencies.
If you later decide that you want to remove app "A" then "B" and "C" will NOT be removed automatically. In this case they are considered "orphan" or "leaf" packages.
There's also a wiki page that describes this:
https://wiki.mageia.org/en/Removing_pac ... .2C_too.3Flloyd wrote:How do we know that there aren't OTHER programs that use those same dependencies...which causes them to break?
This is pretty simple - if you would remove "B" and "C" from my above example, and no other app "D" or "E" are about to be removed, nothing requires those dependencies.
If you would encounter a case where after removing "B" and "C" from my above example, other apps "D" or "E" are broken, then that would mean they are missing dependencies and would warrant a bug report.
Hope that clears up your questions.