defaultbutton and cancelbutton are not always needed in a GUI since you can create custom buttons and cancel the dialog by either clicking the window or quitting the app.
Example:
Embedding custom buttons to have a user select an option doesn't require a confirmation button for the dialog.
