Models - represent the domain-specific knowledge and data in an app. eg: User, Photo or Todo. Models can notify observers when their state changes.
Controllers - Handle input(eg: Clicks, user actions) and update models.
Views - typically constitue the user interface in an application. they observer models, but don't directly communicate with them.
In an MVC app, user input is acted upon by controllers which update models. Views observe Models and update the user interface when change occurs.
Some JS MVC Frameworks like Backbonejs dont follow these patterns strictly. Some merge the resposibility of the controller into the view, while other approaches add additional components into the mix. So we call this FWMm MV** pattern i.e u r likely to have a model and view but a distinct controller might not be present and other components may come into play.
Backbone is a Library, rather than a framework that scales well, from embedded widgets to large-scale applications.
No performance drawbacks-