A framework is a collection of programs that do something useful and which you can use to develop your own applications. - Julian Solorzano
Some popularly known frameworks include, but aren't limited to: Bootstrap, Foundation, Angular, VueJs, Django, Laravel, Ruby on Rails.
The React developers might be wondering what's going on here 😄. React happens to be a library, but we can lump libraries together with frameworks because of their similarities.
Frameworks provide tools and structures that make development of softwares and applications faster. These tools range from floating buttons of front-end frameworks to ORMs(Object Relational Mappers) of server side frameworks. The structures could be MVC, MVVM or the likes.
The essence of frameworks is to cut down on development time. This helps developers meet project deadlines. Also frameworks bring uniformity to team development. Each member understand the development patterns to a great extent.
However, the gains of frameworks can easily be lost when the user knows little about the underlying language(s) used for that framework. Beginners fall into this trap, because they want to keep up with the new technologies.
What this results to is that you have people using a framework without knowing why or what's behind it. If something breaks, they're unable to fix it. Making significant modifications becomes difficult or impossible. For the ones who try, they'll spend a lot of time on Google or Stackoverflow looking for answers to basic stuff.
My advice to beginners out there and constant learners like me, is to take ample time to learn core programming languages before jumping into frameworks associated with them.
Don't be intimidated. Keep learning.