Important to know (at least I didn’t knew it till date J).
Dialog are mainly used to run on demand in CRM, but if your dialog is using Input Arguments, you cannot set the dialog to run on demand. You can only set it to run as child process. Logically it sounds ok as you will need some value to be passed to Input Argument before executing an dialog process, but CRM also provides a way to set a default value and setting default is mandatory. Now question is:
When we can have a default value for input arguments, why can’t we call such dialogs as On Demand? Why should I maintain an extra parent dialog to this?