I use the free version of IP2Location,. It only gives the country for a given IP in IPv4). I may have to find an IPv6 versions eventually.
My use is limited to tracking visitors who use one of my contact forms.
I have no need for this as I sell nothing, except hosting for those who somehow manage to stumble onto my site LOL But that's where it comes in handy, to avoid being scammed. I get the country and together with my script that tries to determine whether they use a proxy or not, I can make decisions. I don't allow anybody who uses a proxy to order from me, as simple as that.
I use ip2country and update it every so often and keep it in my own mysql database.