As there is no formal standard for frames, it is rather hard to say exactly what is correct syntax. We only have Netscape's frames howto as a guideline. Also, each site discussing frames appears to use different terms. This site is no exception :-), although I hope that the terminology used here is clear enough.
The term frames is used as a shorthand for "a technique to display multiple documents at once". This technique is only useful when the browser is running on a graphical display. Other platforms, such as a speech browser, or a console-mode browser, either do not know the concept of "multiple displays" or have only limited screen space. Thus, other terms and descriptions will focus on graphical browsers.
A browser displays a document in a window. A frame is a (rectangular) region in the window. It can have a name, so it can be addressed or targeted by links in documents. If a screen is divided into regions, each one is a frame, and the particular combination of frames is called the frameset. To use frames, one document must define the frameset, so that other documents can be displayed in each frame. This document is called the frameset document, or just frameset for short.
When a document displayed in a frame is itself a frameset document, the frames are said to nest.
There are three new HTML elements which are used to set up a frameset document.
When a frame has a name, it is possible to target it with a link. This is done using the TARGET attribute. Normally, a link in a document will, when followed, update the frame that the document is in. But when the link uses the TARGET attribute to specify another frame, that frame will be updated instead.
Various browsers have implemented other attributes for the FRAMESET and FRAME elements to "enhance" frame display, remove scrollbars or dividing lines and similar things. Their support is limited and their value is IMO questionable. They are included here for completeness, but authors should be aware that their use can cause serious problems.