When DiffMerge gets a match for files given on the command line, DiffMerge will invoke that tool directly and wait for it to exit before exiting; DiffMerge will then exit with that tool's exit status. If Messages are disabled, DiffMerge will do this without even creating a DiffMerge window.
When DiffMerge gets a match for an interactive request, DiffMerge just launches it as a peer application and does not wait for it to complete.