agrgando a lo que dice [D]aniel y por dar un poco más de luz... los sockets no son más que el nombre común de la librería (en realidad una interfaz de conexión, pero mejor no caer en detalle) de conexión sobre capa de red (ip), es eso, te permiten enviar información a un destinatario con una ip....
cualquier programa que haga uso de conexiones ip usará sockets, desde el navegador hasta juegos online y virus...
una librería de Python como urllib2 es fácil de usar pero si miramos su código fuente seguramente veremos una conexión socket en raw
esta librería es de http principalmente, por lo que establece conexiones de tipo TCP y no raw
el aprender sobre sockets me ayudaría a crear una aplicación así o estoy equivocado?
si, usualmente hay librerías de mas alto nivel con lo que se refiere a sockets para facilitar su uso, te recomiendo averiguar primero como funciona internet y entender el detalle del protocolo TCP/IP que te ayudará mucho a comprender estas cosas