It's a program used to flash parts of the internal memory of the phone. You initially use it to flash a new recovery (Clockwork), and you can use it to flash new roms and kernels, but these are more typically flashed on the phone itself by using ClockworkMod recovery.
For the most part, once you've used it to flash Clockwork, you can pretty much do all you need on the phone through Clockwork. The 2 exceptions are if you want to flash an upgraded (or downgraded) modem.bin. These always need to be flashed with Odin. Exception 2 is if you mess things up beyond the ability of Clockwork's tools to fix.
Think of Odin as a lower-level tool for flashing stuff to your phone.