As an avid VPN user it’s infuriating that multilingual websites insist on using the client’s IP address to determine their language and country when web browsers have been sending the Accept-Language
HTTP header since the mid-90s.
I understand that you can work out more or less where someone is located based on their IP address but it was never meant to be a geo-based marker. Why not go the simple route and use the header?
One reason is that IP’s can be more granular as another user pointed out. OTOH that doesn’t always work so well, either - I often get pinpointed to a location some 100km from where I actually am.
Another reason could be to circumvent people’s privacy settings, which are becoming more popular even without using a VPN. Essentially a sort of “we don’t trust you with the data you give us about yourself”.
And since others brought up search engines etc., there’s a third reason: I always use English on my computer UI, but I am not in England and English is not my first language. Sometimes it’s nice to still get localised results (DDG has a drop-down to change this on the fly though).
Oh, and while trying to find a site that tells me where it thinks my IP is located right now I noticed that the top search results all ask location permissions and show me nothing without them. And “Location” is a combo of IP, cell tower and GPS. It might come down to IP only on a laptop, but soon maybe not anymore.