Hi,
1) Back in the days someone (Intel??) decided that 1 Mb was enough for a kernel image (they would fit on a 1.44 floppy). These are called zImage. Nowadays a kernel image can, and most of the time is, larger then 1Mb.
2) I don't know the exact details, but it has to do with the BIOS and how/where the image is read from disk.
3) Modern machines use the bZimage, but if your kernel image is smaller then 1Mb you could use zImage.
Hope this clears things up.
PS: Found a more detailed link:
Big Kernel