I know that when you are compiling static applications, it takes much longer to compile the application in debug mode as the resulting executable is HUGE, and seems to take sometime to write that monster to disk.

With dynamic there's not that much difference, but I much prefer debug mode so I can just set a breakpoint and ensure the codes working as I expect it to rather than hoping it works and then finding out later that it doesn't quite work 100% and trying to figure out why.

I subscribe to the methodology of "Get it working first, optimise it second", so I don't even bother with release mode until everything works.