iframes can be useful. You shouldn't use them to format static html: tables & cells are the right to do that instead of iframes. But if you're building a web app that requires the notion of "session", you may need to use frames to 1. preserve/manipulate state info on on the client side; and/or 2. give your app decent visual performance. So for example: suppose you wanted to make a multi-party chat/Instant Messenger web app, with a single server and multiple clients. Can you do that without using some kind of frames (iframes, framesets) on the client side, in such way that the user's entire page doesn't reload on update? (I don't think so, but if you know how to do this, I'd love to hear you solution).