Eu concordo que os novos frameworks acabam sendo muito mais dificeis de usar por ser necessário utilizar todas essas libs de terceiros e ter que ler um milhão de docs so para começar a desenvolver. Mas isso ocorre justamente por esses frameworks não se apegarem a um método especifico e darem liberdade para o dev escolher sua solução os exemplos citados como Redux ou RxJS não são obrigatórios para o uso da ferramenta, voce pode escolher uma outra lib de dev ou criar sua própria solução como de certa forma voce fez em seu post.
Muitas dessas libs que são complexas de mais ou tem muitas coisas como o RxJS citado são assim pois nasceram para suprir uma necessidade e foram criando mais soluções para suprir outros contextos. Seguindo no exemplo do RxJS mesmo voce não precisa e nem vai usar todos os métodos que ele disponibiliza a maioria voce nunca nem vai ver sendo aplicado e sabendo somente o básico voce consegue desenvolver tranquilamente (apesar de "defender" o RxJS eu mesmo não sou fã e sempre bem pouco)
E essa maneira de criar projetos com HTML, CSS, PHP, JS é sim mais simples porem quando voce escala para projetos muito grandes ou tem um time de devs em expansão ele se torna um caos pois beira o impossível manter um padrão pelo projeto para que seja mais facil manter aquele código principalmente com devs novos no time, assim como criar sua própria solução, manter uma doc disso e manter a mesma atualizada é muito trabalhoso e demanda um tempo que muitas vezes voce nao vai ter dentro de uma empresa, por isso a adoção de soluções de terceiros é sempre mais simples e preferida.