The inaccuracies you mention (i.e "half-a-mile out") are probably caused by the different geodetic datums used by the map maker or Google maps and the GPS receiver in use.
The most common datum is WGS-84 but there are hundreds of others in use around the world. I believe for land maps in the UK the datum is OSGB. Possibly, with Google Earth being an American company they use yet another datum, but I speculate. As an ocean navigator, I have to synchronize my chart plotter (or paper chart) with my GPS by telling the GPS what datum the chart was mapped with. Mostly commonly these days it is WGS-84 but on older charts it can be WGS-72. If not synchronized, inaccuracies at way-points or destinations can be of the magnitude or greater than you mention.
I have a Garmin 660 for land use in my car and MH and have used many other makes of satnavs. To the best of my knowledge none of these devices allows the user to nominate a particular geodetic datum, hence the slight inaccuracies.