As programs become large, it becomes convenient to break up them up into modular pieces. These modules or collections of related routines, structures and variables can be stored in their own separate file so that accessing them down the road is less troublesome than wading through a huge eclectic file jammed with the all of the routines you have written for every problem you have ever worked on.
Furthermore, it becomes very inconvenient to work directly in Darwin when writing non-trivial segments of code. It is advisable to prototype your Darwin code in a text editor of some sort. After saving the file, you can inject the new code into the environment.
Towards this end, Darwin offers two commands. The command ReadProgram which loads Darwin files from the underlying operating system and the command ReadLibrary which loads files from the Darwin library.