According to man nc
-n Do not do any DNS or service lookups on any specified addresses, hostnames or ports.
What I do not understand is why it needs to do any service lookup (also I do not know what services it is talking about for hostnames, addresses or ports except DNS) and if it is done, why is there a need to stop it for some specific netcat commands?