I don't know when, but I grew used to ignoring compiler warnings (maybe because the compiler often whines about silly things like nested comments or descendants hiding ancestor methods where I fully intend it to be that way).
So instead of checking them from time to time I let them accumulate for years.
Today I have finally browsed through that pile of a 100+ warnings.


There were horrible bugs in mission-critical error handling code designed for stability. Only remaining uncaught because I never paid attention to a dozen or so of "Local variable "X" does not seem to be initialized".

It led to the code I thought was rock solid iterating over trash pointers.

And here I was wondering why my engine was sometimes crashing without reporting exceptions properly or simply Logging "exception caught, details later" with said details never logged. Or crashing with weird cascading errors on exit.

Now I know why.
Never, ever develop a habit of ignoring warnings!