Lego ist für den Anfang gut, weil es schnell fertig ist, man wenig bis gar keine Vorkenntnisse braucht und es leicht zu programmieren ist.
Nachteile sind eben die kaum vorhandenen ERweiterbarkeit und der hohe Preis.
An einem selbstgebauten Roboter sitzt du wesentlich länger und dei Programmierung ist aufwändiger.
Außerdem kannst du ihn nicht so einfach wieder Zerlegen wenn er dir nicht mher gefällt und die Teile wiederverwenden.
Dafür ist ein selbstgebauter Roboter aber auch jederzeit um (fast) alles erweiterbar, man hat viel mehr Möglichkeiten als mit Lego.
Außerdem ist er auf jeden Fall günstiger.

Was letztendlich das Bessere ist, hängt ganz von dem Projekt und von dir ab.