When software is purchased from manufacturers it must usually be configured or customized to meet the needs of the end users receiving it. Using packages allows changes to be made prior to distribution (rather than doing customization after installation) so that software arrives configured and ready for usage. This saves valuable engineering time, as well as network bandwidth because you are only distributing what is necessary.
