Think of it as a protocol for sending custom ("user") datagrams. There are other datagram protocols too.
The kernel API defaults to UDP when you pass 0 as the protocol for a datagram socket, which may be the source of the confusion.