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 needs 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.
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 article from Jeff Patton first: http://jpattonassociates.com/wp-content/uploads/2015/01/how_you_slice_it.pdf