Slight inaccuracies in time keeping by the satellites can cause errors in calculating positions.
Satellites drift slightly from their predicted orbits which contributes to errors.
The GPS signals have to travel through charged particles and water vapors in the atmosphere which delays its transmission. Since the atmosphere varies at different places and at different times, it is not possible to accurately compensate for the delays that occur.
As the GPS signal finally arrives at the earth’s surface, it may be reflected by local obstructions before it gets to the receiver’s antenna. This is called multi-path error as the signal is reaching the antenna in single line path as well as delayed path.
The effect is similar to a double image on a tv set.
Since the receivers are also not perfect, they can introduce their own errors which usually occur from their clocks or internal noise.
Selective availability (SA) was the intentional error introduced by DoD to make sure that no hostile forces used the accuracy of GPS against the US or its allies.
On May 1st, 2000, the White House announced a decision to discontinue the intentional degradation of the GPS signals to the public. Civilian users of GPS will be able to pinpoint locations up to ten times more accurately.