.rom, .hex, .bin - what's the difference?

Hello, team.

I've downloaded a recent DCP for MK4000 and there are files with the same filename (say, MK4000c50XenMO0152XX) but different extensions and sizes:

MK4000c50XenMO0152XX.rom
MK4000c50XenMO0152XX.bin
MK4000c50XenMO0152XX.hex

What's the difference and when should I use each one?