Dependency hell comes from binaries that insist on not using the shared library provided by the distro through the package manager. Windows suffered from not having a package manager in the dark ages, leaving installers to silently clobber each others' changes.
In particular, distros generally work best when one version is enough, or maybe a few versions. Anything else leads to dependency hell.