I noticed this article came up on the Reddit /r/gamedev, and thought it deserved a bit of discussion - A case study for an algorithm used to dynamically generate maps. I found this to be very useful - a good description of the algorithm, plus a bit of description on possible uses.