(1) In software, a module is a part of a program. Programs are composed of one or more independently developed modules that are not combined until the program is linked. A single module can contain one or several routines.
from here.
Basically if you are developing a program you need to separate it's parts by their functions. Let's say it is a post office: you need a module which process the incoming messages (classes for filtering, checking the stamp, etc), a computation module (classes deciding which district it's going or is it going to another post office, etc), and a delivering module (postmans to streets or cars to another post offices). These parts are complex but they have their well-defined job and they should work independently and only communicating thorough their well-defined interfaces.
Of course this example is very basic and unrealistic but I hope you get the point.