Sockets are widely used for Inter-Process Communications, and have been widely used for decades. Some form of a Socket API is included in virtually all programming and scripting languages, and Sockets are included in most Operating Systems.
The standard Socket API requires specialized code on each side of the connection. On the 'server' side, this code performs the necessary tasks to create and configure the socket, wait for and accept a connection, and write data. On the 'client' side, this code performs the necessary tasks to create and configure the socket, attempt a connection, and read data. Further, this code is potentially different for each Operating System and coding language.
In comparison, CoreDX DDS publishers and subscribers are easy to create and use. Simply create the publisher (or subscriber) and write (or read) data. Further, the application uses the same API for all Operating Systems and coding languages.