Are custom ROMs different for different make of handsets? Or is there only one CyanogenMod for, say, Android 2.2?
Can someone please elaborate why a 'ROM' is called as such? I mean has it any similarity to Read-Only Memory?
The simple answer is Yes there are usually multiple versions of each Custom ROM. If not the ROM may be only usable on some devices.
Usually for each device model (or group of very similar devices) there is one custom ROM version. The reason are the different hardware each device is equipped with. Like in your desktop computer each component needs a suitable driver for being used. This starts with the display which sometimes even changes from model revision to revision and ends with WLAN chip used. As space and memory are significant on a Smartphone a custom ROM only contains the drivers needed.
Another reason for having different custom ROMS are the different cell phone standards. You have devices built for GSM/UMTS and some are designed to work with CDMA. The telephony stack has to be either the one or the other - again a reason for different ROMs.
ROM here would mean Firmware, which would be the Android OS in the device.
And like Robert has said, with varying hardware specifications across the devices, the ROM needs to be modified to include the respective hardware drivers so that every functionality of the phone works fine.
Also not every phone may be supported by custom ROM developers. Forums like xda-developers.com may have more information about the ROM's available for your phone.
As your first question was answered properly, I will address your second question:
ROM is an umbrella term for any data you can flash to NAND. In this context flashing ROM = installing mobile operating system. In other contexts it may just mean replacing some files to customize your skin. Etc.
While ROM may be a bit of a misnomer (actually refers to non-volatile memory--not data), most people don't know the difference between a kernel, OS, bootloader and etc. So many modifications just get called ROMs, this avoids confusion and flamewars (like when people call linux an OS instead of saying GNU/linux is an OS or even GNU/linux/X).
So we kinda accept the nonsensical language "Flash this ROM to your phone" because the meaning is obvious to experts, and language purists like me be damned ;)
Yes, custom ROMs vary by device models and configurations supported. You can always Google for a specific ROM for your device model. And never use a ROM of a different phone on your phone (unless you really know what you are doing and know that one phone is a re-brand of the other). It will certainly lead to soft or maybe even hard bricking of your device.