Backbone is a front-end framework.
Express is a back-end framework.
To further clarify, you could essentially run Backbone.js stand-alone with no backend support - just HTML, CSS, and JavaScript, and have "page switching" loading HTML templates through hash tag changes and load and save data through cookies or localStorage - but in the end your app needs to talk to a backend services for authenticating a user or saving / restoring data from a database, etc. That's where you'd want Express / node.js to comes in.
You could also do all this stuff without Backbone and just Express (or another backend language / framework), but then all your pages are separate requests to the server (unless you setup something custom on the front-end). Backbone, ajaxes that all out and lets you create templates beforehand, so all you need to request from the backend is plain data objects, and you're essentially only needed to load one page.
This is an oversimplification, but that's essentially it.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…