"su lpd -c" means switch user to "lpd" and run what follows -c as a command as the user lpd. Note that since you don't have "su - lpd" it will NOT invoke the environment of user, lpd. Typically you'd want to do the "su - lpd" instead to be sure it has the correct environment.
"nc -k -l" then is the command being run as the user, lpd.
"nc -k -l" according to the man page tells nc to "listen". Listen in network terms means to wait for traffic to come to it rather than initiating the traffic itself.
I've not seen this command before. On testing it I found I did have to specify a port for it to work. (e.g. nc -k -l 23 would tell it to listen for telnet traffic).