The ODIN utility for flashing Samsung phones needs different files like PDA, MODEM, CSC etc. Custom ROMs though are always provided as a single zip file. Why is that? Do custom ROMs already contain these components in the zip file?
First off, the Odin utility doesn't actually need all of the files in every category. Usually only a single file is flashed via the "PDA" option, and it will contain any of the necessary components. However, Odin provides for an option to flash components separately. For example, you can flash only the "Modem" portion to update the cell firmware.
Custom ROMs are usually designed to not touch critical components like bootloader, modem firmware, or recovery image. These ROMs usually write to OS-level partitions, such as /system and /data (on most phones they can't flash modem firmware even if they wanted to.) The idea is to not touch the critical components, so that even in an event of a bad flash (e.g. power failure, corrupted download, etc.) you could always get the phone operational in some way (recovery, fastboot.) Also by making ROMs not contain firmware for specific hardware, the authors make it easier to create ROMs that work on several similar devices, in many different regions.
For example, CyanogenMod produces a single unified ROM for 9 Qualcomm-based Galaxy S4 models, regardless of carrier or country. The ROM will only replace the OS, and leave the device-specific modem alone.