Explicar a fondo puede llegar a ser complicado, pero digamos que es un control que te permite conectar tu aplicacion desde un PC cliente con un servidor a traves de un puerto previamente definido.Se usa mucho para la ejecucion de programas C en un servidor Unix que realizen tareas paralelas a tu aplicacion. El Socket es tan solo la via de comunicacion al puerto de escucha en el servidor donde una vez ejecutada la tarea te devolvera una cadena de error o OK.Mas o menos es eso o ese es el uso que yo le he dado siempre.Espero que te aclare algo.