&gt; <i>I don&#x27;t see why one computer (or one small group of computers) should be responsible for doing work that could easily be performed in a more distributed way by people&#x27;s browsers</i><p>For one reason, because that one computer can usually do it (or at least most of it) <i>once</i>, and instead you&#x27;re forcing millions of people to redo the same computation themselves. That&#x27;s just... wrong.<p>&gt; <i>But if I&#x27;m building the next great web-based spreadsheets application (...) Why WOULDN&#x27;T I pick that option?</i><p>Well, in this case this is the right way, because you need to dynamically interact with data entered by the user (in this case, people usually make another error - they send data to server that there is no need for; but that&#x27;s another topic. [0]). You&#x27;re writing a web <i>application</i>. But a web <i>site</i>, like landing pages, blogs with articles, etc. have exactly zero reasonable needs for rendering everything client-side. It&#x27;s just making the same compute millions of times because someone was too lazy to compute it once.<p>[0] - actually, it&#x27;s not. One could notice that most of the problems with current web come from two things: sending the code that should stay on the server to the client, and sending data that should stay with the client to a server.