this starts because lots of dependent libraries/modules/etc. have no clue about backward compatibility
The problem most of the time is this. There are many projects that they gave me to maintain that I want to burn and throw away because they depend on everything and the kitchen sink (hundreds of dependencies, and the dependencies also have dependencies) and the developers of most of these dependencies don't care about backwards compatibility, so if you try to update one of these dependencies you end up with cascading failures.
What's worse, this is a recent phenomenon. My older projects you usually just need a JVM, some libs and that's it (or not even that), while my more recent projects have been made by clueless developers who copy everything that comes along without thinking about the consequences and then when the thing obviously blows up they pass it on to me to try to fix the mess.