I think I may not 100% understand the terms used for Bundles. Would someone please enlighten me?

I am trying to understand what the differences are between distribution, launching and installing. I understand that not all bundles preform a software installation so that is why the different terms are used.

Is distributing a bundle essentially making the bundle visible to to the user via the NAL piece of the ZCM agent? If that is the case, I would assume then that I need to force the bundle to Launch if it is to install an app. If that is the case, what does the install action set do?

Also, if I create a bundle that installs an application, there are two options;
Install immediately after Distribution or Launch immediately after installation.
Wouldn't the launch of the bundle kickoff the installation?

Please help me understand when and where I would use install instead of launch.

Thanks to all who respond.