> sure you can build a little dumb todo app in plain old HTML, CSS and JS and it will work flawlessly
This is a weak argument. These technologies can be used along with a database for state persistence to make literally any website in existence. That’s before even mentioning that those three things are how React et al. even work in the first place. What is a React component if not a logical collection of HTML, JS, and CSS?
Sure you can build anything, hell you can even build websites using C and C++ if you really want to. React exists to make life easier, if working with HTML, JS and CSS was just as easy there would be no reason for React to exist. React and other JS frameworks are aimed at large tech companies that have thousands of engineers working on the same codebase, a framework provides structure, rules that everyone has to follow. Have you tried maintaining a single JS file with 50 functions written by a bunch of engineers? Yeah its not pleasant at all.