Selective Availability and GPS Positioning Accuracy
The military formerly ran a program that degrades the data received on civilian GPS devices as a safety precaution. This practice, known as selective availability, was ended in 2000 by Bill Clinton to "make GPS more responsive to civil and commercial users worldwide," according to the National Executive Committee on Space-Based Positioning, Navigation and Timing.
Even with the end of Selective Availability GPS positioning accuracy is not exact. Solid object reduce the quality of signal strength, and GPS signals can not pass through objects containing a lot of metal. There are also numerous other errors that can occur that effect the accuracy of your GPS receiver.
Sometimes the signal slows down as it travels to earth, affecting the accuracy of the calculation. Other times, the signal makes it to earth fine, but it bounces off of buildings and other solid objects which cause a delay in reaching your receiver. There may be fewer satellites visible in your current location, which also reduces the accuracy of the unit, or the satellite may inaccurately report its location to the GPS receiver, creating another opportunity for error. The satellites can also be at locations in orbit which are less optimal at a certain time than at other times, which can affect accuracy.
You can generally expect your standard receiver using only GPS signals to be within 50 feet accuracy. For differential GPS receivers, which augment GPS signals with signals on the ground, you can expect accuracy within 10 to 15 feet. Additionally, GPS receivers that utilize GPS signals and WAAS (wide area augmentation system) can be accurate within 10 feet. Not perfect, sure, but pretty amazing, nonetheless.