Не говорите ерунды.
Если мне в Друпале в своем модуле нужно создать например новый пункт меню, то я сделаю это с помощью готового хука. после чего я буду на 100% уверен, что даже если в системе кроме моего модуля будет установлено еще 100 других, которые будут создавать свои пункты меню с помощью того же хука то это не создаст никаких конфликтов, так как все работает через единое апи. В системе могут прекрасно работать и не конфликтовать между собой сотни модулей.
Если мне в Опенкарте в своем модуле нужно создать новый пункт меню то делать это мне приходится через "одно место", то есть с помощью строковых функций, которые используются в vqmod искать какие-то куски кода и заменять их на свои.. При этом я нифига не уверен в том что завтра мой модуль будет работать, так как достаточно установить в систему всего один модуль, который меняет тот же код.. или добавить хотя бы 1 лишний пробел в код, который нужно найти или заменить и все.. ничего работать не будет.
Именно поэтому в больших системах и используют систему хуков, так как на сегодняшний день это единственно правильное решение для построения модульных систем, которое максимально уменьшает количество конфликтов. Потому что все работает через единое апи, предоставляемое этой системой, а не через "одно место" как это сейчас работает в опенкарте...