Why do "curl 0.0.0.0" and "nc 0.0.0.0 80" work?
0.0.0.0 is a valid IP address and it does not remap to 127.0.0.1. curl and nc use that address just as they would use any other IPv4 numerical address.
A lot of tools and systems do not support that as an address since it equals to a binary all-zero 32bit pattern which is treated as magic in a lot of APIs.
Sort of related: port 0 also works with a similar set of caveats.