Two main things:
1. You can design your dialog box with the very nice "drag and drop" editors that development environments like Microsoft's Visual Studio provide. On a "main" window you have to position everything with code, which is a lot more work. (For the purists, that's not strictly true, but it'll do as a first approximation)
2. At runtime, you get "for free" a standard keyboard interface, with "Tab" moving you from control to control, and "hotkeys" to jump directly to specified controls. For non-dialog windows, you have to do all that yourself.
Those are the main benefits.