Unfortunately, IP address geo-location still isn’t brilliant. But you can hardly blame them. For every dynamic IP block there might be users from across the country using that IP at different times, so you may as well just say ‘somewhere in the UK’. Usually it seems that the geo people just use the ISP’s headquarters or dial-in POP as a reference.
Static and ‘sticky’ IPs are more accurate, since you know the user of the IP is not likely to change location. These tend to be quite precise (I have a few from Fareham and Gosport). If you look at NTL reverse DNS entries, for example, you can normally narrow it down to the local POP (so all Fareham IPs are based in Portchester, which is basically Fareham anyway).
Google Analytics by the way is now available for all – you can sign up here.