I stumbled across this interesting article the other day about how GPS watches can sometimes credit you with a shorter distance than you actually ran. The reason is that those watches calculate your distance by drawing lines between your position at regularly reoccurring intervals. However, if you happen to go under a tree, or behind a building or something, the satellite can't find you and it ends up calculating by drawing a line between your last two registered positions. If you happen to go around a corner between these positions, you are not credited for a large amount of distance.
I noticed this once in a half-marathon in Lima. My watch registered the distance at about 12.85 miles instead of 13.1. At the time, I figured the course was probably wrong and I was a little disappointed because I ran a pretty fast half. In hindsight, I guess I was just in better shape than I thought I was.
Honestly, this discrepancy is a little overblown. My guess is that the difference is negligible in a 10 k, and gets a little bit bigger the farther you run. However, even over a marathon distance, the GPS is probably going to be within a half mile or so. This still makes those watches very good training tools. In fact, if your GPS is constantly telling you you're a little slower than you think you are, it helps to push you harder than otherwise.
I find that my big problem with the GPS is that it takes a while to load up when I'm ready to go for a run. To me, the whole POINT of running is that you don't have to think about it hardly. You just slap your stopwatch on, hit the door and BAM! get your exercise in. However if I have to hit the door and then wait for....loading.....loading........loading..................loading, I start to go nuts. Also they have a short battery life.
Anyway, read the article and comment below, that's an order!