On a very basic level a DLL is piece of code that can be used over and over again in a project. Hang on a minute you are probably saying that I can use a module to do the same, but where DLL's come into there own is that you can create a DLL and use it in any project you want and all you have to do is make a reference to it.

For example

You have a set of custom string functions that you need to use in 4 apps. Instead of creating a module or a class for each project, you can create a dll to store all these functions and make each app reference the DLL. This saves both Space and Time.

Finally you can create DLL's to do just about anything you can think of. Most programs use Dll's because they dont't take up much space and also because when compliled dll's go down to almost machine code level and makes it virtually impossible for other people to find out how they were made. Thus keeping company secrets.

Hope This helps

Ian