Different use case, obviously. netcat won't work if both peers are using NAT. Plus, this service enables distribution to many peers as well as asynchronous transmission.
No, it is direct peer to peer. Thus both computers need to be connected at the same time. If you want async you need a third computer to store the data.
It is a really elegant and ergonomic way to transfer files between computers. It doesn't need any preparatory setup like launching a "server", as with ssh or http. A single, short command line on each computer, and the file is copied.
The only pre-requisite is that both computers are actually connected to the internet. Unfortunately, NAT and other shit broke the internet so this is a difficult pre-requisite to fulfill nowadays. A sad tragedy of our times.
It still often works to transfer files directly between computers in the same lab.
On some installs of netcat you'll need to specify a port because they don't have a default one (typically 31337). Look at the manpage to see what is the case for yours.