Mathematica's unified symbolic architecture makes it incredibly easy to create dialog boxes that range from the straightforward to the highly elaborate and customized. Every dialog box is a notebook with arbitrary layout and styling, in which arbitrary actions defined by Mathematica programs can immediately be applied through Mathematica's Dynamic mechanism.
MessageDialog — put up a dialog box to display a message
ChoiceDialog — put up a dialog box with buttons to make choices
CreateDialog — put up a dialog, but let Mathematica evaluation continue
DialogNotebook — create a custom dialog window
SystemDialogInput — get input through system dialog boxes (files, colors, sound, ...)
DialogReturn — close a dialog, possibly returning a value
Modal — specify whether a dialog box is modal to the front end