http://en.wikipedia.org/wiki/HTML_element#Frames
Frames allow a visual HTML Browser window to be split into segments, each of which can show a different document. This can lower bandwidth use, as repeating parts of a layout can be used in one frame, while variable content is displayed in another. This comes at a significant usability cost, especially in non-visual user agents. Because of this cost, frames (excluding the iframe element) are only allowed in HTML 4.01 Frameset.
In HTML 4.01, a document may contain a head and a body or a head and a frameset, but not both a body and a frameset. However, iframe can be used in a normal document body.
<frameset>...</frameset>
Contains the frameset. The frames layout is given by comma separated lists in the rows and cols attributes.
Standardized in HTML 4.0 Frameset, obsolete in HTML 5.
<frame> or <frame/>
Delimits a single frame, or region, within the frameset. A separate document linked with the src attribute appears inside.
Standardized in HTML 4.0 Frameset, obsolete in HTML 5.
<noframes>...</noframes>
Contains normal HTML content for user agents that don't support frames.
Standardized in HTML 4.0 Transitional, obsolete in HTML 5.
<iframe>...</iframe>
An inline frame places another HTML document in a frame. Unlike an object element, an inline frame can be the "target" frame for links defined by other elements and it can be selected by the user agent as the focus for printing, viewing its source, etc.
The content of the element is used as alternative text to be displayed if the browser does not support iframes.
First introduced by Microsoft Internet Explorer in 1997, standardized in HTML 4.0 Transitional, allowed in HTML 5.