1. Actual breakage due libary upgrade
2. Unsane dependancy managment dening a working package from being installed
The first requirement to a new package system would be to force the package manager to not be able to block packages or minor version differences. Package needs libGUI2.0.1 and max version is set to version 2.0.2, and my system ships 2.0.03? Frankly, then install the lib and stop complaining!
I have seen this a few times, and the lack of a "ignore the issue and install anyhow" button annoyed me each time.
Now, if there is some actual lib differences that cause breakage, the package managers job is to find them, and not "a bit different versions". And if it actually happens, then we suddenly got a valid bug report out of nowhere, instead of the package manager denying installation because it can.