Was sind denn jetzt die Nachteile? Ist jede Instanz völlig unabhängig von den anderen?
Bei jedem Zugriff auf die Eigenschaften des Prototypen zahlst du drauf. (Ist aber genau wie beim Zuweisen im Konstruktor m.M.n. vernachlässigbar).
Du kannst nicht auf gekapselte Eigenschaften zugreifen (jedenfalls nicht über Funktionsgrenzen hinweg, innerhalb einer Funktion kann man natürlich wieder kapseln).
Ob das Vor- oder Nachteile sind, hängt von der Aufgabe und den Anforderungen ab. Du kannst in JS eine Aufgabe auf mehrere Wege lösen, das ist ja das schöne an JS.