какие отличия recv/send от recvfrom/sendto?
recvfrom возвращает адрес отправителя полученных данных. Имеет смысл с протоколами без соединения, типа UDP. sendto позволяет отправлять с одного сокета на разные адреса, опять же, имеет смысл с протоколами без соединения.
В man про это написано.