Note: Sorry about the audio. I accidentally set up a noise gate with the gate threshold a bit too low.
This video goes through animating a character using forward motion and how to correctly line the feet up with the surface, using IK.
It then explains how to convert the character's forward motion to reverse motion on the surface, keeping the character still. This is sometimes necessary when the output needs to be on-the-spot... or you just find this way of animating easier! :-)