micah, that's true if you're treating it like an API, which is a good idea for reusing between apps. If it's within the same app, you could probably be using templates or taglibs (or whatever their called in your framework) and that can be the reusable component. JSON is generally preferred but like I said it can lead to more code and that I don't always agree with if it's not for good reason. And you also need to consider complexity of rendering since the server side can usually render faster and cache which can be an important performance decision. Too much javascript on the client side isn't a good thing at the moment IMHO.
I've been talking with a few people lately about working on a framework that only outputs JSON but haven't really cared too much since that's more of a discipline thing that a requirement. Would make for an interesting technology stack though and help clean up a lot of code by forcing you to think more in APIs than presentation.