What Android parts do these terms describe?
Root: As you understand, "root" in this context refers to the ability to grant a user the privileges of the root user. It's similar to installing sudo on a linux box (but Android root uses su, so there's that fundamental but small difference). We have a tag-wiki for it which has more information: root.
Flashing: In the world of embedded systems, mobile computers, microprocessor-based development, and other technologies that led to modern smartphones, to "flash" something is essentially to copy files to a device. The etymology goes deeper than that, and doesn't seem to have a specific single meaning, but in all practical terms, in the Android world, it's essentially a word that means "Replace system software" (But varies contextually).
Firmware: Firmware is actually a word that, in its original meaning, doesn't seem to apply to Android. However, the word has come to be synonymous with the Android OS when used in this context.
OS: This won't be any different from the term in other computing-related contexts. Android itself is an Operating System - and many other things. (For example, it's also a development platform, etc).
Bootloader: The bootloader standard used for ARM Embedded systems (like most modern smartphones) is indeed quite different from what we're used to on X86 and X86-64. Speaking in a practical sense, the bootloaders used on Android phones have the same job as grub or syslinux, they just work differently.
Recovery: Many Android devices come with support for a separate extremely basic piece of software, which is called "Recovery". It generally includes its own kernel, separate from the kernel Android runs on, and is limited in functionality. It is used to write to system partitions in order to perform actions like changing/updating the kernel, Android OS, or other modifications that can't be done while the Android system is in memory. recovery
update.zip: OS version updates, patches, and many more things are often saved to a file called "update.zip". When Recovery Mode is started (booting to Recovery), it can be set to automatically load this file and install whatever it contains.
Kernel: The kernel used in Android is the Linux Kernel - Version 3.4 for most modern devices.
CyanogenMod: Cyanogenmod is a fork of Android which purports to maintain the "true" Android Experience. It is actively developed and supports many devices.
Titanium Backup: This is an app, available in the Play Store, which backs up applications and application data. It can, of course, also restore apps and data. It requires root access in order to do this.
Factory Reset: When performing a factory reset, the device does not erase the main filesystem. It restores it to a "factory" state - removing user settings, applications, root, call history, etc. You'll want to check the tag-wiki for factory-reset for more information here.