I find the "personalised" geolocation stuff mildly annoying in general - and not only because it's invariably miles off. It doesn't show me a site 'cares'. If anything, it looks lazy.
If it's for showing prices in my currency rather than dollars then that's useful, but more often than not it's to show some stupid "What ho, old bean!" message. I'm a Northerner living in cider country - you may as well have said that in Spanish!
I think geolocation using an IP address is known to not be particularly reliable when you try to drill down to the city level - having said that, it was spot on with my city.
I win the ip-distance-error game! I'm in Stanford, California, but sites think I'm in Quebec, 4000 miles away. We have google fiber for internet, and apparently the ip block they use previously belonged to a Quebec ISP.
Craigslist always comes up in French for me and shows me Quebec listings. And for a while we couldn't log into our bank of America web account because they don't allow foreign logins.
Plus geolocation almost always fails on a phone in my experience, the IPs generally come from the datacenter of the carrier (my old Alltel phone always said I was in Alabama, almost 1000 miles away).
If they used HTML5 geolocation instead, they'd burden the user with an annoying authorization popup (at least on the browsers I use).
edit: (The lesson, then, is to not do web geolocation unless it strongly enriches the usefulness of the site (map-related sites, etc) or your hand is forced. People rightly don't want their location freely-shared and people are rightly annoyed by location-sharing-confirmation popups.)
also geolocation fails for my IP, says I'm 35 miles away from where I am, which in UK terms is quite far.