Well, you seem to exactly know how the Internet works, or not, loudmouth!
I run several Web sites, which I will not mention here, and I do log IP addresses. This is very easy to do. Access logging comes standard with the Apache HTTP server. It just needs to be configured correctly. One can use
GoAccess, or similar tools, to analyze the access log. These tools are essential to understand denial of service attacks.
The rough physical location of a client can be resolved using these tools or other services, like
www.infosniper.net. There are a lot of probing tools (port scanners and actual hacking tools) that can be used to try to gain more information from and access to the client's modem, router, or computer. Many modems and routers have unprotected Web servers for configuration purposes. Many computers run certain services by default, such as for remote access.
This, by the way, doesn't mean the entire IP traffic is logged at the server or ISP. There are devices that can do that, but they will cost you a significant amount of money and are typically used in enterprise and government networks for cyber security purposes.
Link Removed
Link Removed