GRUB consists of several images: two essential stages, optional stages called [Stage 1.5, one image for bootable CD-ROM, and two network boot images. Here is a short overview of them.
stage1
This is an essential image used for booting up GRUB. Usually, this is embedded in an MBR or the boot sector of a partition. Because a PC boot sector is 512 bytes, the size of this image is exactly 512 bytes.
All stage1 must do is to load Stage 2 or Stage 1.5 from a local disk. Because of the size restriction, stage1 encodes the location of Stage 2 (or Stage 1.5) in a block list format, so it never understand any filesystem structure.
stage2
This is the core image of GRUB. It does everything but booting up itself. Usually, this is put in a filesystem, but that is not required.
stage2_eltorito
This is a boot image for CD-ROMs using the no emulation mode in El Torito specification. This is identical to Stage 2, except that this boots up without Stage 1 and sets up a special drive (cd).
Network boot images
nbgrub
This is a network boot image for the Network Image Proposal used by some network boot loaders, such as Etherboot. This is mostly the same as Stage 2, but it also sets up a network and loads a configuration file from the network.
pxegrub
This is another network boot image for the Preboot Execution Environment used by several Netboot ROMs. This is identical to nbgrub, except for the format.