Speed is not the reason React and other frameworks are used today.
I'm getting sick of these questions and one sided answers so I'll try to give an answer from neutral perspective that reflects real world. This is not only "React vs vanilla", this is "framework vs. no framework" answer.
Definition of framework from Wikipedia page: A software framework is a universal, reusable software environment that provides particular functionality as part of a larger software platform to facilitate development of software applications, products and solutions.
Software development got complicated. Requirements are harder, apps are bigger (codebase wise and feature set wise), you have to implement more things in shorter time than 10+ years ago. Every person solves problems differently even though some problems really have one best solution. Frameworks solve that kind of problems and offer abstractions which we can use simply and without losing additional time to solve it ourselves. Also, frameworks impose their own architecture and workflow which reduce number of choices YOU have to make. That also enables companies to easily incorporate new staff into their projects, they can be more productive in no time which in the end means more money.
It depends. In most cases they are worse in performance than a custom solution. But they are also much more stable since in most cases they are developed by multiple developers in longer period of time, and tested on real life projects. And often they use smart design patterns to solve problems more efficiently. So basically, good frameworks are stable, secure, feature rich and more maintainable than usual custom (or vanilla) solution.
If you want to get job faster than yes. However, like some people already said, many of popular frameworks are hype because Facebook/Google/whatever is behind them. They are not technically superior than alternatives but they got a backing from a big company and have a large community which means many tutorials and answered questions on Stack Overflow.
Absolutely. Read this.
@mevrael is one of the people on this site that push idea that you shouldn't start using frameworks if you don't completely understand how they work. I can't agree with that since it's too idealistic to be possible. As a beginner you should learn basics of programming language and environment you are developing for, but it is not possible to learn some stuff before working on real life projects. You can't understand design patterns if you don't have proper context of them. Same goes for almost anything. What I want to say I don't think is possible to learn ALL THE BASICS without using more sophisticated architecture that frameworks have. Understanding how stuff works and why is your major goal as a developer in general, but it can't be your first goal. First goal is to have some understanding and be productive. As you learn and gain experience you will explore things you couldn't understand in the beginning. And this is real world, clients have demands for certain technologies and frameworks, they have expectations and limited patience. Also, we all have limited time and motivation so we have to be productive in order to stay motivated and earn something for a living.