Baking caches the animation -- essentially creating temporary keyframes. It's useful for a number of reasons:
* it allows you to scrub backwards and forwards in the timeline without messing up the simulation;
* it insures that you will get the same results in the editor and render (assuming you aren't using other things that may cause variation, like particles);
* it allows you to render dynamics over a network.