1) хипстерство в плохом понимании этого слова. Большая подверженность хайпу. Вот сделали в реакте хуки, чтобы вместо классов писать функции. Это, в общем-то, и хорошо в части задач, но пихают их везде, из-за чего код читать и править гораздо сложнее.
2) низкий уровень квалификации, почти везде нет никакого разделения на слои: тут уровень работы с данными, тут UI, тут другие штуки. Тупо в кучу все свалено с минимальной структурой. Из-за чего очень много дублирований, очень проблемно писать юнит-тесты и еще масса проблем.
3) сборка фронтового кода напоминает теперь еблю с cmake или там makefiles. На написание внятного и работающего конфига сборки для webpack нужно потратить много времени, отлавливая всякую ересь. Да и работает оно ввиду предыдущих пунктов как костыльный лес: шаг влево-вправо и все посыпалось нахер без внятных ошибок.
4) тащем-то как подпункт для 1), но все же отдельный - не стабилизируют программый интерфейс, он крайне часто меняется без серьезных причин. Привет тому же вебпаку: постоянно при обновлении оного приходится кучу всего переделывать, ибо как минимум меняют имена и расположение нужных параметров конфигурации.