Why did my iPhone's GPS tracking get so bad?

I regularly experienced similar problems with RunKeeper on my iPhone 4S where distance was over-measured. When reviewing the plotted map of my run I could see the coordinates jumping a bit erratically from one point to the other, accounting for the extra distance, and this for entire outdoor runs, not just sporadicly on spots with bad GPS reception.

Normal run:

enter image description here

Bugged run:

enter image description here

While I cannot give a definitive answer as to why this problem occurs, and why the iPhone seems to get stuck in this bugged state when it does, completely rebooting the iPhone (and possibly additionally toggling Flight Mode to reboot the antennas as well) seemed to always resolve it for a few days or even weeks.

On a sidenote, since I upgraded to my iPhone5 (with iOS 6 ofcourse), the problem has not presented itself again so far. Perhaps the problem was fixed in either iOS or in the hardware meanwhile.