DLLs sind "dynamic link libraries", man könnte sagen, es sindFunktionssammlungen.
DLLs sind Windows-nativ und werden deshalb normalerweise in C/C++ erstellt. Aber auch Klassensammlungen in IL (Intermediate Language == .NET-Bytecode) haben die Endung .dll (aber sind von der Struktur natürlich total anders als normale DLLs, da diese ja interpretiert werden).
Man kann natürlich jede Datei .dll nennen, ich benenne auch öfters alle .jar, die nicht die Mainmethode enthalten, sondern andere Libs in .dll um.