Apologies for leaving this unanswered for so long.
Thinking of CRA is a beginner's tool is probably helpful, it sweeps a lot of the set-up away so you can just start learning React. This is helpful. Unfortunately, CRA also gets used as the basis for many professional projects, which is less helpful.
You're correct that the React library itself is what's needed to actually get the functionality of React. However, it's not (necessarily) sufficient by itself. Most React code involves writing JSX, code which looks like HTML but isn't. JSX cannot be run by browsers so a tool like webpack is required to transpile that code into vanilla JavaScript that the browser can run.
Strongly agree. Every project I've ever seen use CRA has eventually had to wrestle with its constraints and sooner or later they have to make the hard choice to eject or not. Either way, they seem to regret it :-D
Vic Kalchev
UX Design & Front End Dev
I'm currently learning React by using CRA and I do find the process quite complicated and obscure.
I also get the impression that CRA is sort of a beginner's guide or a tool to quickly build something. The React library itself is what you'd want to use in most cases. Not sure if I'm correct about this, just an impression.