I never used to use them, but I had an awful time debugging my last program, and at one point was logging when variables were null or didn't contain the values that I would expect. Once I'd got it all working I asserted everything that my program needed in order to run successfully.