Overview:
Story maps are like projects. They are for helping the planning of a project. A project's high-level goals can be broken up into deliverable pieces that can be scheduled into releases.
When we start a project, usually we just create one blue card and create all the yellow cards underneath. Yellow cards are usually the middle/longer-term goals. In software development projects these are the tasks that the end-users of the system do (with or without the support of the system). We lay down the process that the users need to do and put them up as yellow cards. After that, we'll find out different solutions for those steps in the process and put them up as white cards. If we think we understand what we'd have to develop, then we create a release and pull the most important white cards there.
Recommended links:
There's a short introduction on this method here:
http://storiesonboard.com/user-story-mapping-intro
You can also find other readings here:
http://storiesonboard.com/blog/post/useful-resources-for-user-story-mapping
I recommend reading an article from Jeff Patton first:
http://jpattonassociates.com/wp-content/uploads/2015/01/how_you_slice_it.pdf