Debug is for development 'cause if (for example) your application crashes you can have some information like what appended right before.
Release is for , hum, release :wink:
You build your application in release when you're about to give/sell it. Release configuration means some optimization (faster execution).
But keep in mind that «debug» and «release» are only name and that everything is about compiler's options.