Windows are top-level UI components, used mainly to access data in a way that accents the information being presented. We often think they are only used as a region of boxed data and controls overlaid on other UI components; although this is usually the case, I recommend that you begin thinking of them in a way that does not limit their usage to overlays.
Windows as UI controls became really cool in web development with the advent of Ajax, which in many ways makes web applications behave like multi-threaded operating systems — allowing asynchronous activities to continue in the background while the user is engaged with the active window. These new breeds of window widgets have quickly replaced the old-fashioned browser dialogs and DHTML hacks that were its forerunners.