I found a lot of pieces of an answer to this question, but no complete and good one.
How does a GPS System calculate it's own accuracy at the moment?
Where does it get the known position to compare measured positions to?
There are many many factors that affect the accuracy of the GPS. However they all go down to there is no "correct" but a more accurate value. Of course you might add some more accurate values to compare your results to - e.g. by using differential GPS which uses a base-station of a very accurate measued (e.g by geodetic information) location.
However a usual GPS calculates its own accuracy based on usual statistics. It gets a number of locations for one single point and calculates its arithmetic mean as well its the standard deviation and many other parameters.
Having said this the accuracy of a GPS-device is mostly determinded by the number of signals (sensors) that measure a given location. On most deviced you have therefor the number of satellites displayed which are currently used/can be seen by your device.
EDIT: Unfortunetaly the US-military (which invented GPS) has a disturbing signal which reduces accuracy from 20cm to 1-2meter.