how about one more opinion to really confuse you.

first, dgps is more accurate than gps without differential corrections (the d in dgps). with dgps accuracies of under 2 meters are possible with units that cost less than 300 dollars. for better accuracies there are two methods used. the first method takes multiple position readings over time at the same location and averages them together to find a more propable location (statistically speaking). for accuracies in the centimeter range on one of the inexpensive receivers this averaging can take many hours (days). other more expensive receivers actually use the two different frequency bands (gps signals are transmitted on two bands commonly referred to as l1 and l2) to calculate the error caused by satellite geometry and the path of the signal through the atmosphere (there are minute changes in the speed of the radio frequency based on density). remember, at the speed of light, we are talking about a very small amount of time for the signal to propagate from the satellite to the receiver. these receivers typically cost in the thousands of dollars (check out some of the trimble units used for surveying).

here is where the manufacturers get creative. the speed (or more accurately velocity since the gps also gives direction) displayed is calculated using two positions and the time it takes to get from one position to the other. you can think of the error in reported position as a circle that you are most likely located inside (statistics again). if the time used is very large, the speed reported will be less accurate for an instantaneous speed, but the average speed will be very accurate because the distance between the two points will be very large compared to the positional error of the two points. for example, i travel one mile in one minute. that is an average speed of 60 miles per hour (please excuse the change in units of minutes to hours), but what if i travel 5279 feet in 1 second and then travel the last foot in 59 seconds. the speed for the first second is almost 3600 miles per hour while the average over the minute is still 60 miles per hour. (back to the creative part) the manufacturers have algorithyms in the gps receiver that average the speed over some time (it varies)based on the distance traveled and the positional error calculated. so, if the distance traveled is greater, the instantaneous accuracy is better. if the distance traveled is less, the time used to calculate the speed will be greater (in some cases 1 second or more) and the instantaneous speed will be less accurate.

that said, on the typical cat where there is not too much pitching and rolling, and the speed is pretty constant, the standard gps using differential is usually about 99% accurate.

one more thing, someone mentioned that dgps requires special towers. while this is true, there is a new differential correction system called waas (wide area augmentation system). it was set up for pilots to use for instrument landings, but works really good for boaters too (this system is currently only in the united states). many inexpensive receivers have waas capabilities and can produce very accurate results (in the 2 meter range). waas is more accurate than the old differential system that uses towers and a separate receiver and has the added benefit of not requiring an extra antenna and receiver.

before the flaming begins, i would also like to add that this technology is changing about as fast as computers, so there may be other differential systems out there that i do not know about.

if you want more info on gps, go to http://joe.mehaffey.com this site has about everything or a link to everything relating to gps and how it works.