Many websites are hosted on what are known as shared hosting servers. Indeed this is the most affordable way to host a website and is appropriate for websites that don't have enormous amounts of traffic. A side effect of this, however, is that more than one website will be at a given IP address.
Let's say you visit www.example.com in your browser and that www.example.com is hosted on a shared server. Your browser first does the DNS lookup and sees that example.com lives at 123.456.789.001. So a request is sent to 123.456.789.001 for the page you requested. Along with the name of the file, the request also has a section named "host" which is the name of the website (example.com.) The web server software that's running on 123.456.789.001 sees this and is thereby able to send back the correct webpage. However if the "host" field is blank or invalid, then the web server software will (usually) treat the request as being addressed to a pre-configured fallback host.
That's why you can visit 123.456.789.001 in your web browser and get a completely different website than if you entered the domain name.
It's possible to find out what other websites are living on the same server by using one of several online tools. Like this one
Edited by Andrew, 07 June 2011 - 03:16 PM.