We did it because users demand it. A SPA feels substantially faster and more reactive. Users notice.
If Gmail used your approach, it never would have succeeded.
> How does a LAMP/RAILS app provide search engines with indexable dynamic pages? Uh, through clever use of jquery AJAX and postgres indices?
I have to assume you're just throwing out terms you've heard of but never understood. Database indexes have literally nothing to do with making your site indexable for search engines.