There are many ways to package and distribute, which are all optimized for differnet scripts. What works well for online distribution does not work well for offline distribution, or even in the middle of scenarios.
For example, consider .NET. They have a web and a complete one.
In full, this will be best for media distributions and corporate clients, where they want to place the infrastructure on a network resource. The web will work best for one user (at home) who wants to get the shortest download possible.
To understand the shortest, understand that the installer. NET 3.5 SP1 is actually a bootloader with many packages for accounting 2.0, 3.0, 3.5, SP, Hotfixes, 32-bit components, 64-bit components (x64 and Itanium).
For a home user with .NET 3.0 x86, there can be very few downloads. For the corporate user, you can get all this from a network share without reloading the bits from the MSFT again and again. For a media client, they may not be an Internet connection at all.
All this is due to caching issues. The installer can choose to cache or not cache installation files, regardless of whether it comes from downloading media, a network, or the Internet on demand.
Other settings may not be as layered as .NET, and have very few differences between Web and Full. (i.e. always everything)
source share