I see these components discussed all the time on xda-developers. I have a vague understanding of what they are and how they're related to each other, but it's not perfectly clear. For example, the radio seems to be a lot more than just the radio. I have a good understanding of the basic ideas as a Linux user and software developer.
To kick things off, let me present my current understanding. I could be way off on some things:
"Radio" - I'm not sure if this runs before the bootloader or after
HBOOT is the bootloader, the first thing that runs when you boot up your phone. Like your regular Linux bootloader, it lets you boot off of different partitions.
There are multiple partitions on the system, at least one for HBOOT (maybe? or is it in some kind of MBR type of area?), recovery, system and data. All of these partitions are in the system's "ROM" which is not really ROM it's actually NVRAM or flash or whatever. Hence, each of these areas can be independently flashed.
Recovery is a partition you can boot into. It's originally meant to be a kind of "recovery" mode and so offers a base for hacking. This is typically re-flashed so as to follow further modifications. From the recovery image, you can also access the sdcard which is useful for fetching update.zip files etc.
update.zip - these are updates that can be applied from a custom recovery image. It seems like these updates can contain more or less arbitrary code, but I'm not clear on how they get applied or where they get flashed to or applied to.
/system - gets mounted read-only (what control this?) unless you do some hacking
Where does the kernel sit? Is there a different one in the recovery versus the regular image? Which parts form a custom ROM like CyanogenMod? What is the NAND and what does it mean to unlock the NAND? What is an RUU? SPL? Where do the WiFi and 3G radio images sit? PC36IMG.zip? PRI?
I've seen some of this explained elsewhere but I don't understand how they all fit together.