The above statement is true and correct. But let me take a step back hoping this will help clarify things up for you.
A website is “just” HTML, CSS and JS (for a bit of interactivity). At the core there’s nothing more to it.
So yeah, you can build website this way.
And for a long time it was the de-facto standard.
But with years and technology people started evolving the way they develop locally to solve some common problems.
Like.
1 - I wish there was a way for me to serve my webpage locally, and maybe refresh it after each change, so I can develop faster.
Enters a local dev server.
2- The more pages I built, more logic I need to add. And my files are becoming bigger and bigger and harder to navigate and edit. I sure wish there was some way to split them, but then “merge” them together when deploying so the page is correct.
Enters bundler.
3- I really like this open source library, I wish there was a way for me to integrate it with my code and make it work with what I have.
Enters bundler.
[etc…etc]
So, tools like create-react-app
were born simply to quickly scaffold a local dev environment for you, with a set of tools that eventually, if you scale, you will need.
A transpiler for older browsers. A bundler for your code. A local server that refreshes after changes…etc…etc…
So yeah, you sure can make website with nothing more than a file, but eventually you will hit some problems (maybe, maybe not), and you will need some tools to solve them.
I hope it clarifies thing a bit more in regards of “why do I need all this stuff to develop” dilemma. As it’s hard to see until you reach the point where you need those tools.
Good luck and happy coding 