Basically speaking, they serve different purposes and usually show up together. I will explain what they are designed to do.
babel
Babel is a transpiler. It can translate all kinds of high version ECMAScript ( not only ECMAScript, but it's easy to understand) into ES5, which is more widely supported by browsers (especially older versions). It's main job is to turn unsupported or cutting-edge language features into ES5.
Webpack
Webpack is, among other things, a dependency analyzer and module bundler. For example, if module A requires B as a dependency, and module B requires C as a dependency, then webpack will generate a dependency map like C -> B -> A. In practice it is much more complicated than this, but the general concept is that Webpack packages modules with complex dependency relationships into bundles. Regarding webpack's relationship with babel: When webpack processes dependencies, it must turn everything into javascript because webpack works on top of javascript. As a result, it uses different loaders to translate different types of resources/code into javascript. When we need ES6 or ES7 features, we use babel-loader to accomplish this.
react-scripts
when we start a react-based project, setting up the build environment is tough and time-consuming work. To help with this, the developers of React created an npm package called react-scripts that includes a lot of the basic setup most people will need for an average React app. Babel and webpack are included as dependencies in react-scripts
What does Webpack and Babel exactly do?
babeljs - Difference between Webpack/Babel and react-scripts - Stack Overflow
This helped me understand React, Webpack and Babel setups. Detailed guide to get started
Webpack Babel hard to learn
Basically speaking, they serve different purposes and usually show up together. I will explain what they are designed to do.
babel
Babel is a transpiler. It can translate all kinds of high version ECMAScript ( not only ECMAScript, but it's easy to understand) into ES5, which is more widely supported by browsers (especially older versions). It's main job is to turn unsupported or cutting-edge language features into ES5.
Webpack
Webpack is, among other things, a dependency analyzer and module bundler. For example, if module A requires B as a dependency, and module B requires C as a dependency, then webpack will generate a dependency map like C -> B -> A. In practice it is much more complicated than this, but the general concept is that Webpack packages modules with complex dependency relationships into bundles. Regarding webpack's relationship with babel: When webpack processes dependencies, it must turn everything into javascript because webpack works on top of javascript. As a result, it uses different loaders to translate different types of resources/code into javascript. When we need ES6 or ES7 features, we use babel-loader to accomplish this.
react-scripts
when we start a react-based project, setting up the build environment is tough and time-consuming work. To help with this, the developers of React created an npm package called react-scripts that includes a lot of the basic setup most people will need for an average React app. Babel and webpack are included as dependencies in react-scripts
WebPack and react-scripts is slightly different things.
Webpack is used for compiling bundle for your web-application, which can be free-form and have some entry point. More then, webpack is used with babel-presets, which allows you to use modern ES6+ constructions in relative old browsers. Also, webpack is responsible for assembly dependent node_modules in one file, and maybe compress and optimise it. You can read more about webpack philosophy here: https://webpack.js.org/concepts/
React-scripts is just starter kit for launching some customized webpack-dev-server, which is configured to work with provided boilerplate for React playground. It's just demo purposes thing. Most modern web libraries has it's own starter kit, even server-side libraries too, e.g. https://github.com/reimagined/resolve/tree/master/packages/resolve-scripts and so on