They may be composed of two pieces, called forks, i.e. a data fork and a resource fork. Only one of these two forks may be empty. If a Macintosh data file has lost its resource fork, for an example after a transfer through another file system, it remains usable, even if it is not double-clickable anymore. The resource fork may contain the code of a program, the commands of a font file, etc.
Some programs store a preview picture in the resource fork.
The resource fork is organised as a data base, which allows a fast access to all components of the stream. This is a big advantage for some applications. It is also possible to change some elements without disturbing the rest of the fork. All trademarks acknowledged.