Not a problem, not to worry. As long as you can ping remote hosts once per second for a minute with no more than 10% packet loss you are doing fine. The Web-based IP address detectors are subject to various errors, chiefly transparent Web proxies through which your request could pass. This is a known limitation of these services. (The geographic IP locators are also not necessarily accurate either.)
If you really want to figure it out, read on:
If you are using a WiFI router, and there is another open WiFI router nearby, your computer network manager could have changed the configuration. However, even without this, you are still subject to the proxying problem mentioned above.
Log into your local router and check the IP configuration of the WAN interface. On my D-Link DSL 2500U this configuration is on the Status->Network Statistics page. This is the IP address that my ISP assigned to the WAN interface of my modem when the modem logged in. That's the IP address, period, end of argument (unless the ISP is also NATing, which is rare. You would see a non-routed address like 10.0.X.X or 192.168.X.X).
Then check the IP address that you see in your router configuration against the results from the web sites. It is possible that neither is correct. In your case, the reply from www.whatsmyip.org,
18.104.22.168 resolves to
cpc2-mort4-0-0-cust245.croy.cable.virginmedia.com.. This is probably the correct address, as Virginmedia.com is a retail supplier and the format of the name is that of a cable address - so you are using a cable modem, right? On the otherhand,
22.214.171.124, that was reported by
www.whatsmyip.com resolves to
host31-52-118-197.range31-52.btcentralplus.com., a BT host format address. I had the opposite result with these two sites,
whatsmyip.org gave a completely wild address, and
www.whatsmyip.com gave the correct address as seen from the DSL modem configuration.