Mail sent through some services doesn’t have any useful IP info at all. I believe Hotmail used to be like that (but don’t quote me), the IP just showed that it came from a Hotmail IP. I just checked an email my mom sent from her ipad at home using her work address and it only shows her company’s IP. However, it depends on the organization. If it showed the IP of my local library, I’d believe it came from there because they have computers for people to use. As long as it wasn’t from a library employee who may be able to send email from anywhere, it must mean someone sat down there and sent the email.
Sometimes ISPs will have a city code in their long IP address, like 123-45-54-321.atl.isp.net would be Atlanta, but that only proves that someone used the ATL server to send the email. You could do that from anywhere.
My Ip is currently giving me away pretty closely with a whois because it shows I’m part of the x.x.176.0 to x.x.191.255 block assigned to my cable company and they apparently name that block “city-state-x-x-176.” But, a human would have to figure that out because it’s tucked away in the whois info where an automated tool wouldn’t think to look. Plus, I could be in China and still log into my computer to send mail, and those two geoip tools above have me listed as being either 30 miles away or 300 miles away so I don’t know what info they’re using.
As for which is the most plausible, you have them in the right order:
Which town the e-mails were sent from - ads and IP locators aren’t so great. A human can sometimes figure it out easily and sometimes come up against a brick wall.
Which neighborhood - I doubt any automated tool could even attempt this, but a human may be able to figure it out if your IP belongs to a certain organization.
Which house - never the house, but a human may get the organization and it’s exact location.
Then there are proxies, where a person connects to a proxy server somewhere -anywhere- and connects to the internet through that, thus giving them the proxy’s IP address, masking their true IP.
In short, if someone wants to hide or fake where their IP says they’re from, it’s trivially simple. If they’re not hiding, a human may figure it out easily or not at all. Unless they have an IP that belongs to an organization where you can deduce the location, the best they’ll get is the city.
Since the OP mentioned targeted ads, I’ll briefly mention cell phones. A smartphone’s IP won’t give your location, but the phone can locate itself by figuring out which cell towers it is connected to and some advertisers can access that information. It’s good enough for neighborhood location and can be extremely accurate in good conditions. A human can’t get that info though (well, not legitimately).