Hello to all

I know this might be a stupid question for some but what is the difference between compiling in release and debug mode.This should not affect the final executable file ??.
Is it necessary to compile in debug mode.

Yours Respectfully