Well, done properly, it adds a lot to the usability of a website. Many modern large websites use it to some extent, even if it's to just prevent unnecessary page reloads when loading some files into a form or whatever. But it's important to maintain cross-browser compatibility, and fall back to something usable when Javascript is disabled or unavailable. And also to make sure that the Back button does something logical. A mixture of iframe submission and XmlHttpRequest can work well for that.