I still don't understand what any tiff file (even if
it's only one) is doing inside a receipt, not to
mention some of the other files in there, and why
many of these receipts have to be the size of the
complete works of shakespeare if they only serve as a
record of the installation.
A receipts package is more than just a simple record that something was installed. Think of it as a repository for metadata relating to the app & its installation, including
resources that can be critical to the "it just works" behavior we expect from Apple. For instance, the package can tell you, the OS, or some utility if the referenced installer package requires a restart, is a required or optional installation, can overwrite a later version or not, requires updating other files (like installed languages), the default install location & number of files installed, & many other details about the installer itself.
Moreover, much of this metadata is in XML format, which means every item of info requires property & class tags as well as a value (the info itself). This is a very cool thing: any XML-aware app can find the info it needs without requiring that specific info about the metadata file format is coded into the app itself. So, while XML might more than double the size of the info file, it can save tons of file space by reducing the size of the code various apps might require to access it, as well as greatly improve stability & reliability of the app by verifying that the info is of the proper form (e.g., string, boolean, etc.) before trying to use it.
I do understand the need for different languages. But
the problem is that some of them contain lots of
non-language-specific items (like the identical tiffs
Quicktime651), which are then duplicated over all the
languages.
Different languages are only one part of
localization. Think of localization as sets of resources specific to various geographic regions, which can cope with not just language differences but cultural & legal ones as well. Again, this is a very cool thing: it allows apps to be written independently of these considerations, which otherwise could lead to very bloated apps.
For instance, an image that is perfectly acceptable in one culture may be offensive or meaningless in another, or infringe on some local copyright or its equivalent. Instead of including a direct reference to the image file in the app, if the reference is to a lookup in the localization, the differences can be handled systematically by the OS, which is aware of the location(s) chosen by the user(s), instead of by the app, which probably isn't.
Also, lots of space is still being wasted in other
areas. Like a package with 700 individual little tiff
files (each one a block on the disk), while they
could easily be bundled in one big tiff file, etc,
etc...
Bundling is easy, but as the above should suggest,
choosing the appropriate resources to use from the bundle can be challenging, particularly if you want the process to be transparent to the user(s), consistent across apps (including core OS ones that run behind the scenes), & efficient both in terms of total file space & code execution.
IOW, the knowledge to handle arbitrary data structures has to be stored somewhere if you want your Mac to have that functionality. The choice boils down to storing it on the hard drive & letting the machine use it directly or storing it in your head & feeding it to the machine as required.
I think it is an easy choice to make. 😉