Believe me, I knew next to nothing about Android up until I bought my Droid Charge six months ago. I was an iPhone user who graduated to a real smart phone.
Being the geek that I am I wanted to learn everything I could about the platform my phone was running. Now, I don't pretend to know everything but I know a lot. As for making ROMs and themes, I leave that up to the real experts who know a lot more than I do and those that have a much better eye for design than I do.
Yes, ROM stands for Read-Only Memory but in the case of Android phones, ROMs are used to describe the operating system package that's loaded onto the phone's internal memory storage device that ordinarily is read-only.
Custom ROMs are either downloaded to the phone using a utility called ODIN on Windows machines or by using CWM (Clockwork Recovery MOD).
Clockwork Recovery MOD is a modification of the stock Android Recovery Environment, the same environment that you used to apply the update.zip package but it can do so much more. It can install ROMs, format internal partitions, clear cache, clear Dalvik, install themes, make and restore full Android system backups, etc.
A full Android System Backup is kind of like making a disk image of your computer's hard drive. Say you make a full Android backup via CWM and you are forced to get a new phone. You would then flash CWM via ODIN, get into CWM, flash a kernel (you need to do this first), and the restore the backup you made. When you reboot after that everything you had on the phone before including apps, data, SMS, everything, would be restored as if nothing ever happened.
ODIN is the sledgehammer of Android tools for the Droid Charge. This is about as low-level as you can get. If used wrong, you can really brick your phone. Only use this under the advisement of people like myself to direct you through the process of using it. If ODIN gives you an error, say like the checksum of a ROM package failed, listen to it, don't try and work around it. If it says that a ROM package is bad, then it's bad. If at all possible, only use ROM packages that end in tar.md5 because that contains checksum information that ODIN uses to make sure that the ROM package you're trying to load is an intact package.
Kernels, such as iMoseyOn's kernel is not a ROM. ROMs however are built around it. The kernel is the base of everything, think of it as the traffic cop for the phone. All data, commands, and activities must pass through the kernel and the kernel does the work.
Other ROMs are just that, different operating system packages that third-party developers put together for the phone. They may have a different look, different apps bundled with it, etc.
Yes, there is a lot of bloat that Verizon foisted on us. Getting rid of it all opens up a whole lot more space for you to install what you want, apps, etc.
I know that this was long winded. If you have any more questions, feel free to ask and I'll answer them as best as I can.