As with so many things in web development, it depends on your application. web2py is a complete framework to set up an environment for your application to run. Backbone.js can extend web2py's functionality to provide complex client-side interactions. I think it can be a great idea, if the design of your application only requires updating portions of the view, or if you have a very complex client-side interaction.
An example of a complex interaction would be the VisualSearch.js plug in ( http://documentcloud.github.com/visualsearch/). It takes advantage of Backbone.

