What is the difference between bootstrapping a service and bootstrapping a service into a domain?

Solution 1:

Apple rewrote launchd in OS X Yosemite (10.10)

As far as I understand it, they added bootstrap | bootout as replacements for load | unload. load | unload are currently listed under LEGACY SUBCOMMANDS in the launchctl manual.

The main difference when you're just trying to load or unload an agent/daemon is that bootstrap | bootout forces you to be explicit about the target domain that the agent/daemon will be loaded into.

Check out this great Blog Post about some of the changes to the launchctl syntax in the OS X Yosemite launchd rewrite for more details about everything I just touched on.