I routinely download software that ships as a Mac disc image, but when uploaded to a web server is placed in a zip archive. The dmg file is already compressed, so the zip file doesn’t reduce the size that much and just adds one step to decompressing (when I decompress, I’m left with the zip file and dmg file; I then have to trash the zip file). My suspicion on why this is done is that the web server isn’t setup to send dmg files as binary and people get a mess in their browsers. So solution (for apache servers), is simple. In /etc/mime-types, add dmg to the octet-stream line like:
application/octet-stream bin dms lha lzh exe class so dll img iso dmg