I guess that's open to debate, and I was just curious about whether epubcheck implements exit codes. It looks to me as if epubcheck exits with a 0 when it ran successfully, and a failing ebook validation is still a successful run.
Take a compiler, for example. A compiler runs successfully even though the input program might fail to compile; in that case, the compiler exists with a non-0 exit code which is used by Makefiles to detect breakage. Command-line options control whether or not a compiler should exit with a non-0 upon warnings or errors.
Similarly, I would argue that it's simpler to check the return code of epubcheck rather than scanning its output. Scanning is always flakey because it assumes that the output follows a certain format (which can change). Perhaps it would make sense to add command-line options to epubcheck as well?
Jens