The hash can be used also for single page applications, so instead of using it to navigate to a point in a page you use the hash as a means for navigated from page to page. The advantage of this is that it does not require a page refresh.
There is also a method called hashbanging which is used for single page applications and is used for helping ajax applications more indexible.
There are a few good articles on the subject
- https://github.com/browserstate/history.js/wiki/Intelligent-State-Handling
- http://danwebb.net/2011/5/28/it-is-about-the-hashbangs
- https://developers.google.com/webmasters/ajax-crawling/