Geo-ip location accuracy varies wildly from country to country and from provider to provider. Some smaller countries have very accurate internal mappings of IP's to postal addresses but this type of data is generally not available to the public.
Note: Different Geo-IP address databases may also have different location data for the same IP address so you may also want to double-check the quality of your source data.
Alternative ways to gain more accurate information:
Methods people/organizations use to get more accurate geo-ip information include the following:
1.) HTML5 Geolocation especially if the remote device is a mobile device with GPS or GPS like triangulation features this may give you much more accurate info than the Geo-IP address. If the device does not use GPS it may alternatively leverage the local wireless SSID information and compare that other datasets to determine it's physical location, Google and Skyhook wireless have large databases of end user SSID's mapped to physical locations. Note: If you can get the SSID there are other public databases of where SSID's have been seen mapped to physical locations.
2.) Purchase information about the IP address from advertisers who can confirm the owners shipping location via aggregation based on other activity notably past sales & shipping information. Matching aggregate regular and hidden cookie information to the account owner to help identify the person or people who use a given IP is far more telling than GeoIP information.
3.) See if you can match the IPv4 address to an IPv6 address on the same host. In many cases the IPv4 geolocation may not be as accurate or up-to-date as the IPv6 geolocation information for the same host.
There are likely many other ways to do this.
It may also be helpful to read some of the FAQ's at commercial providers of GeoIP data such as Maxmind to give you an idea of how accurate the data may be.
Finally it should be noted that some elements of this information such as HTML5 geolocation and unique cookies may be sent to the web server allowing someone to identify a user that may otherwise be trying to disguise their address via a proxy or a service like Tor. This is one of the specific reasons Tor users need to be careful about their implementation and how they are using the service.