A DLL is a dynamically Linked Library file... If you are not familiar with programming, a Library file will typically contain procedures for doing certain specific task... For example, a library file for trignometry may contain procedure for finding sine, cosine, etc... a library file for File Dialog will contain methods for opening a file dialog and asking where to save or open a file, etc...
The DLL can be called upon by other programs and their procedures can be accessed through them... Windows has a set of predefined DLLs and through Windows API programming, you can access the functionality provided by these DLLs without having to write the full code again...
DLLs thus provide reusability of code by various programs...
An EXE is an executable file that can be executed from Windows or DOS. A COM file is also an executable file but there are some important differences..To oversimplify: a .COM file is a direct image of how the program will
look in main memory, and a .EXE file will undergo some further
relocation when it is run (and so it begins with a relocation header). A
.COM file is limited to 64K for all segments combined, but a .EXE file
can have as many segments as your linker will handle and be as large as
RAM can take. More details at *www.faqs.org/faqs/msdos-programmer-faq/part2/section-9.html
Arun