Posso essere più o meno d'accordo col tuo consiglio, ma coloro che hanno sviluppato i framework avranno dovuto imparare come funzionano i socket ai livelli più bassi. Se a tutti gli sviluppatori dici "usa i framework" alla fine non ci saranno più persone che creano i framework stessi.
Ad ogni modo se mi voglio facilitare la vita posso usare i framework ma probabilmente non capirò e e non imparerò i socket a fondo. Posso avere mille motivazione per programmare a livelli più bassi: voglia di imparare, sviluppo framework, logica dei socket, masochismo... non è questo il punto!
Io posso voler sviluppare un piccolissimo software (come quello che ho descritto). Che importanza ha se è pieno di bug? Non per forza devo metterlo sul mercato, ma può servirmi a me per imparare e migliorare il codice.
Rilancio la domanda.