I'm in the process of designing a (soon-to-be) rather large PHP/MySQL web application. I've come to a fork in the road as far as internal architecture; I can build the website as a "traditional" web application where, when you make a request, the server builds you an HTML page, sends you the whole page, and the browser renders it, or, I can build it as a "separated" web application where the entire HTML structure and code of the application is provided to the browser upon initial load, and the application uses JavaScript callbacks to get specific data or issue commands via a unified API. Also, I intend for there to be multiple versions of the site (desktop, mobile, iPhone/Android mobile, search-engine friendly, etc..) and at some point, perhaps even standalone mobile or desktop apps as well.

What advantages/disadvantages have you, as web developers, run into with each of these architectures? Is there a clear reason why I should go with one over the other? Is it more of a developers'-preference thing?