Ich bevorzuge viele Plugin-Events in Komponenten. JShopping ist ein gutes Beispiel mit vielen eigenen(!) Events, die es ermöglichen nahezu überall via Plugins Daten abzugreifen, zu ändern, zu erweitern usw. usf. Man kann entweder Plugins schreiben, die in einer eigenen jshopping-Plugin-Gruppe sind (weiß den Ordnernamen gerade nicht), aber auch einfach system-Plugins. Erstere werden im Normalfall nur bemüht, wenn JShopping auf einer Seite geladen wird. Zweitere evtl. auch schon mal unnötig registriert/geladen.
Wie viel Code ausgeführt wird, hängt davon ab, wie schnell ein Plugin abbricht, wenn es nichts zu tun hat (meist durch context oder jinput-Prüfungen). Oder, ob es nur die Event-Methoden enthält, die es eben braucht.
Außerdem in welcher Plugin-Gruppe es sich befindet (s.o.). System-Plugins werden bspw. nahezu immer aufgefordert werden, mal nachzusehen, ob sie was zu tun haben könnten. Hier kann man nahezu ALLE Event-Methoden anderer Plugin-Gruppen verwenden. "Sie sind immer da."
Ein User- oder Content-Plugin oder ... wird nicht so oft ins Spiel gebracht beim Codeablauf, außer man triggert diese eben in seinem Code.
Außerdem natürlich davon wie viel und was für Code ein einzelnes Plugin bei diesem oder jenem Event eben drinnen hat, verwendet, oder anderweitig bemüht. Ein paar, dutzende, 100e oder 1000e Zeilen auszuführender Code? Wie komplex? Datenbankabfragen? usw.usf.
Plugins sind ja auch nur PHP-Klassenm mit PHP-Methoden.
Und, wenn ich es richtig verstehe, werden diese Klassen erst nur registriert und nur im Bedarfsfall dann geladen. Kann mich täuschen.
Kurz: Eine Frage der Programmierung und was man halt so alles installiert, aktiviert hat und schließlich triggert.