ratpoison uses the concept of panes to place and size windows. Instead of allowing windows to have arbitary shapes at arbitary locations on the screen, the display is divided into panes, the same way a physical window might contain several pieces of glass seperated by wood. In ratpoison, the panes are called frames, and windows are placed in them, maximised. ratpoison starts with one frame, which can be split into an arbitary number of smaller ones. Each frame can be split in half either horizontally or vertically. You can move among them, making different ones the current. For more information, see Splitting Frames.
Each frame has at most one window associated with it, which is visible in that frame. If you select a window that is associated with a frame, the focus will move to its associated frame, rather than moving the window to the current frame. If you select a window that is not associated with a frame, that window will be opened in the current frame and resized to fit that frame.
If the window associated with a frame does not fill the frame completely, the various gravity commands control how it is placed.
If no window was open in that frame before the current window was opened, the X root will be visible behind it.
Transient windows (dialog boxes, splash screens, and the like) are handled specially. In order to understand the contents of a transient window, the previously focused window is often required. Take a search window, it is useful to be able to see the document you are searching as well as the search window. For this reason transient windows appear overtop (according to their gravity) of the previously focused window.
Every window belongs in a group. A group is simply that: a group of windows. By default there is only one group (the default group) that all windows exist in. You can create new groups. When a program creates a window it will be added to the current group. Groups are generally used to organize windows into different classes such as work and wasting-time-at-work.