DLL is an acronym for Dynamic Link Library.
A library, in computer terms, is a collection of software that can be re-used by other software. An example might be a small bit of software that converts text from upper to lower case. When provided in library form, any program can use that software, rather than having to re-invent and provide its own solution. (Practical examples are significantly more complex than simple text-case conversion.)
Dynamic linking refers to the fact that the needs of the program are resolved at the time it is run, and potentially only when actually needed. The alternative is to bundle the shared library statically, which typically implies that the program must include and load the library when it’s run. Dynamic libraries can be loaded when, and possibly only if, they are actually needed.
DLLs typically perform two important functions in Windows: they serve as a way to organize software into logical components, and they allow programs to re-use, rather than re-invent, large amounts of functionality. Windows itself is made up primarily of DLLs that are used not only by Windows itself, but by all the programs running within it.