Stefan Worthmuller talking about DLL hell on Windows:
Installers of programs overwrote existing versions of DLLs, leading to the first iteration of DLL-Hell: Installing an application could possibly break other applications (because they were build for a different “version” of the DLL). And even worse, uninstalling an application could remove some DLLs that other applications depended on. Most applications installed their DLLs in the system directory (and many still do) in hope to share them with other programs but there was no way to keep two different versions of a DLL in the system folder as the file name usually remained unchanged.