DMG files were considered the "right way" to do application deployment for quite a while. However, they do suffer from some issues. First, not all Web servers know how to handle them. This means, if you are not careful, the Web server will supply the DMG file so that it appears to the user as garbled text (an ASCII translation of the binary file). Not the greatest experience, to say the least.
The second issue is that not all of your potential users are going to be skilled and savvy computer experts. Safari will mount the DMG properly, but your application will then be sitting on a read-only temporary drive. If the user knows what they are doing, then they can move the application to any location they choose. But if they do not know the ropes, then the problems start.
The DMG file is by far not the worst way to deploy your application. Most users do understand what to do with an application sitting on a DMG file. For those who do not, it is common for developers to put a background image in the DMG to give the user clues. Some of these background images can be quite beautiful.
That said, DMG is also not the best way to deploy your application. Some users will have issues with it. They will try to run your application directly from the DMG and be surprised with a reboot when it disappears, or will delete the DMG, thinking that the mounted disk is permanent. All of these situations can be painlessly resolved by not providing this option to the user, as explained in the following sections.
A significant number of applications are delivered using DMG format. Adium is arguably one of the most popular.