Question: What is a DLL? What is it doing in our computer? Why we need to register it? Is DLL registration a common process of a single command? Is this installed/registered while we are installing a software?

Answer: 
A program is a series of instructions. Normally the computer will read and execute instructions one after another in series.

This is great, but most programs will do the same task at various times, or the same task with slight variations at various times. Rather than rewrite the instructions of that task over and over, an option available to programmers is to package those instructions into a subroutine or *function*. 

Then, instead of copying the instructions over and over, you tell the program to *call* that function and therefore save space. *Linking* binds this function to all places that call it in the program, when the program is built. The program is also easier to maintain since, if you want to change that task, you can change it one place and not all over the program.

Most programs have functions that are used within that program. They are part of that program, loaded with it, and only accessible to that program. 

But what if you have a great function (such as one that takes a date and returns the day of the week) and want to use it in many different programs? *Dynamic Link Libraries*, or .dll files in Windows, allow this. It's called *dynamic linking* because the linking occurs at runtime when program is loaded rather than at build-time when it is compiled (in this case it's called *static linking*). 

You can package the function in a specific .dll, and then tell your main program you want to use, or *import* functions from that .dll. 

Now, if you want to update what that function does, or fix bugs, you're in an even better situation since all you have to do is change the functions in one file and every program that uses it will be automatically updated. The disadvantage is now your program depends on another file to work properly. Usually the benefits outweigh the disadvantages for everything except emergency system recovery programs that need to work when you can't load anything from disk and such.
Let's not forget rundll32.exe. This Windows utility allows you to invoke a function exported in a dll. <http://support.microsoft.com/kb/164787>