Backbone.js is a lightweight framework that let us create single page applications in a structured manner. It is based on the Model-View-Controller (MVC) pattern. It is best suited for creating single page applications using a RESTful service for persisting the data.
Marionette.js is a composite application library built on top of backbone.js and it allows us to build large scale javascript single page application. Backbone.js does not enforce the use of strict MVC pattern but backbone marionette enforces the use of strict MVC pattern. marionette also provides us View classes that we can create and extend simple view, collection views and composite views. It also gives us the possibility of creating Controller classes and eventing mechanism across the application.