Ничем не хуже - это языки, никак между собой не пересекающиеся. Те задачи, которые эффективно решать на PHP, очень неэффективно делать на Node.JS и наоборот.
Проблема PHP - крайне низкий порог входа. И огромное кол-во неучей-говнокодеров, наивно считающих себя программистами. Именно масса порождаемого ими плохого кода поддерживает миф о том, что плох сам PHP.
Обрати внимание, кто именно и как именно ругает PHP.
Категория 1: те, кто PHP не знают, и оценивают язык не по собственному опыту, а по тем примерам говнокода, которые предлагают курсы Хауди Хо, Евгения Попова и прочих неучей, корчащих из себя гуру программирования.
Категория 2: те, кто последний раз использовал PHP лет 15 назад и с тех пор перешёл на другие языки. И критикуют они не современный PHP, а свои воспоминания о том PHP, который был 15 лет назад.
Категория 3: адепты Node.JS или Python - проповедующие превосходство единственно правильного языка.
Категория 4: неучи, умеющие кодить на Node.JS или Python и которые веруют в то, что PHP - плохой язык. Ведь им это адепт их языка проповедует.
А вот тех, кто понимает современные принципы написания кода на современном PHP и умеет их применять, среди критиков PHP почему-то не наблюдается.