Dependency hell refers to the practice of reusing code from various sources to keep programmers from having to "reinvent the wheel" for every application they write.
As a result many programs cannot be installed until some set of libraries is installed. Sometimes these libraries themselves will be dependent on some other library, and things can snowball from there.