This post by Suraj Gupta explains it all. This is the first time I have seen a concise and accessible explanation of the R environment structure and why it matters.
Addendum: This one by Digithead is also pretty good