You put your app in a folder - hilight the folder and select "Make disk image" from the File menu. A .dmg file is created. Ship it.
Are the images necessary. No, of course not. They just make it more fun.
I don't get the dependency obsession - OS X comes with rich api. If you depend on something not in the api, put it in your app wrapper so it drags with your app.
Apps should be self contained. Duh.