I just spent the entire morning fixing notices and adding patches in the issue queue for a couple of contributed modules we're currently using in a project. On my development box, I always set error_reporting to 'E_ALL' and display_errors to 'On' in php.ini so I can see how good or bad the code is. Drupal core is pretty much free from such notices, but in the contrib world there's a lot of undefined variables and indexes out there. Fixing them sounds boring but is actually pretty fun and you learn a lot about the internals of Drupal core too, so it's really worth spending time on this.
A few months ago Moshe started the D7CX movement encouraging module developers to release a D7 version of their modules the day Drupal 7 is out. Excellent initiative and a lot of module maintainers already made that pledge. That's really wonderfull, but let's hope module maintainers always run with full error reporting and make their modules notice free, so why not change that pledge a bit:
I pledge that mymodule will have a full Drupal 7 release and will be PHP notice free on the day that Drupal 7 is released.
Of course, this still applies to D6 and D5 too, who's in on this too ?