Damit du alle Nachfahren unter der abstrakten Basisklasse zusammenfassen kannst.
Abstrakten Member versichern dir, dass der NAchfolger eine eigene Implementierung mitbringt.
Leere Rümpfe wären absoluter Blödsinn. Wenn die Methode beim Instanzieren, Verbinden, whatever von TCustomSocket benutzt wird, dann wird sie nunmal gebraucht.