Very accurate BUT
Your GPS speed is averaged of a period of time. If you are zig-zagging around, say 3 zigs and 2 zags from a to b, depending on the averaging, the GPS may just calculate your speed between a & b in a straight line because it does not know you have been to a1,2 & 3 and b1 & 2 in between. Your indicated speed will be less than your actual speed.
GPS speed is Speed over the Ground (SOG). If you are traveling with a following current your GPS will read your speed + the speed of the current. If into a current SOG + Speed - Current.
On the satalite page you will see something loke DOP which gives an indication of the current accuracy. If there is poor coverage, speed will be less accurate because the GPS is not quite so sure of where it is and where it was.
All in all, it will be much more accurate than the speedo in your car.
"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools" Douglas Adams