Personally I only allow Admins to see IP Addresses; theres no reason for moderators to have access to anything identifying for the users other than their email.
As for the service used for geolocation, as mentioned in the Control Panel where you enable the feature (CP -> Master Settings -> Lookup Services) we're using the
IP Geolocation API; this can differ from the information gleaned from user entries in their profile or from the specified site you run whois lookups from in the Control Panel (by default it's whatismyipaddress.com)
The owner of IP Addresses can be complicated, you are assigned a chunk of addresses from ICANN and these are broken down and sold further and used by various organizations that can have a global entity; so where an IP address is shown as a location could be nowhere near where one site says it is. An example being my Comcast IP used to list me in Portland, OR (well, "potland" as the shortened name) and now it lists me in Salem; I'm in neither location being in Milwaukie (though it did the same when I lived out past Beaverton).
Expect approximations and best guesses in some instances.