what is debug and Release mode

Hi guys,
can anyone knows what is debug mode and Release Mode and also a difference between these two modes.

Thanks in advance
Shan

Biggest one I can think about is optimization is on in release mode and off in debug mode (-O0). Release mode I think also is not debuggable so -g was probably not used during build either. Bootloader (rom.bin) is only built in release mode.