Backbone's Router will use HTML5 pushState if the browser supports it (and the developer opts-in to it). If you visited the site in an older IE browser, you would see a hash present. can.route has pushState support coming, but for now, you'll have to use the hash.
The way I've done this before is to build a Control for each "page" in the app and then switch the Control that is active on route change. There is a cool plugin you might be interested in looking at that does this sort of thing: https://forum.javascriptmvc.com/#Topic/32525000001019027