ip-binding

What is the difference between starting a server binding to 0.0.0.0 vs 127.0.0.1?

It seems that Rails and Django can both start up the server binding to an IP, either 0.0.0.0, 127.0.0.1, or 192.168.1.2 <-- the last one is my local IP are there other choices? It seems that 0.0.0.0 and 192.168.1.2 can let a Virtual PC on the same machine access this website, while 127.0.0.1 cannot. However, if it is just the same ...