I would like to create a module on a CentOS 6 cluster (e.g. module load gcc-4.7.2).  Basically, I have no clue how modules work.  Are there any good tutorials illustrating this or could someone provide a Hello World type tutorial?  I have looked at the module man page and it is not particularly useful.  I am having trouble finding good documentation online. What other resources are available to create modules? 
How to create a module on a CentOS cluster
bash;shell;software installation;environment variables
The modulefile man page is probably of more use to you than the module man page.A search for environment module examples yields this page, which seems to have some good examples.  I think it addresses most of your questions:If I install a program from source, how do I make it available to load it as a module?Install the package somewhere and then write a modulefile to modify the PATH (and other environment variables) accordingly.How do I change the environmental variables (e.g. PATH, LIBRARY_PATH) when a module is loaded?Via the setenv command, examples of which you will find in that linked article.How do I execute associated shell commands, when a module is loaded (e.g. inform the user of default settings)?Not sure what you're asking here.How do I load dependent modules when the module is loaded?By using the module command in your modulefile.  As documented in the modulefile(4) man page:module [ sub-command ] [ sub-command-args ]Contains the same sub-commands as described in the module(1) man page  in the Module Sub-Commands section. This command permits a modulefile  to load or remove other modulefiles. No checks are made to ensure that  the modulefile does not try to load itself. Often it is useful to have  a single modulefile that performs a number of module load commands.  For example, if every user on the system requires a basic set of  applications loaded, then a core modulefile would contain the  necessary module load commands.