Frameworks (and libraries) are collections of code that solve common programming problems. In example, jQuery allows you to modify DOM very easily, while underscore.js provides a bunch useful function to help with common programming tasks like operations on strings or arrays. Some frameworks introduce a different kind of
philosophy / different approach toward developing an application. A good example is angular.js, which turns entire applications into modules, controllers, directives, filters and so on. Such design allows to keep big applications more maintainable and easier to develop.
One tip if you are starting to code in JavaScript: stay away from libraries and frameworks as long as you can. Learn the "core" JavaScript as best as you can before you start with frameworks. There are too many people who are unable to code anything themselves, without using third-party libraries. There was once a famous question on StackOverflow, "How to divide numbers in jQuery"...