The most common dialogs are those used to get a filename for open or save operations, dialogs which allow a user to set various application options, and dialogs used to present a simple message to a user. After all, we do not want the user to lose the dialog window underneath the main top-level frame because it is very likely that the dialog was popped up for a very good reason and contains information that the user should address immediately. Normally dialogs are dismissed after they get some data or give a message. However, dialogs can also be persistent. For example, a dialog acting as a floating toolbar or one displaying X, Y, Z coordinate information common to image processing applications may be displayed throughout the life on an application.
Dialogs come in two forms, modal or modeless.
With modal dialogs, a user cannot enter data or activate other parts of the application while the dialog is displayed. A modeless dialog on the other hand, allows the user to interact with other parts of the application while it is displayed. If you take a look at a few standard applications, you will probably find that most dialogs are modal. Modeless dialogs are not useless however. They are commonly used for floating toolbars and dialogs that display status information for example.