Давайте честно:

1. Использовать SPA для всех типов сайтов — было ошибкой (даже команда Реакта признает это с RSC)
2. RSC — неудобный хак, который был бы не нужен, если бы мы не пытались сохранить API Реакта (Qwik делает это лучше)
3. Хуки — были ошибкой.
4. Со стилями беда

Всего этого не было бы, если бы у нас была реальная конкуренция фреймворков.

Но по факту во фронтенде мы выбираем фреймворк не по качеству, а по популярности — создавая dead lock возможности смены фреймворка.