Eu tinha o mesmo pensamento quando comecei a programar, bom a resposta é "simples".
Se você já sentiu a dor de criar um projeto grande, vai entender o motivo de existir coisas como react, angular, vue e etc, frameworks e bibliotecas tem o objetivo de resolver problemas e dores que temos ao utilizar “algo puro”, eles ajudam a prevenir problemas que você teria se utilizasse a linguagem de forma pura além de abstrair muita coisa para facilitar nossa vida.
Para que consiga entender melhor, tente criar um projeto que tenha autenticação, muitos itens que precisem ser renderizados na tela e que tenha múltiplas páginas. Algo como o youtube, figma e etc. Não estou dizendo que é impossível, mas é muito trabalhoso e hoje em dia as empresas no geral querem rapidez e produtividade além de confiança que o produto no final vai ser estável e com menos bugs possível e fazer isso somente com linguagem puras dificulta um pouco.