It is a place where a part of program that is responisble for updating the code should reside. The difference between boot rom and normal flash usually is that code executed from within the boot rom is able to reprogram the flash, while code running from flash is not able to do that.
You can have a look at MSP430, their bootloader is pre-programmed, so you can use it from the get go, without buying a special programmer to load your code into the device.
by Jeff Child
by Jake Hertz
by Aaron Carman