The problem with -Werror is it causes trouble with autoconf-based scripts: Test programs that should've compiled can fail because of a warning as opposed to an actual error. I prefer to compile with -Wall -Wextra and not commit anything that raises warnings.
Or use "gcc -Werror" when compiling.
C is like a sharp knife: in skilled hands, it can do wonders. Unskilled hands end up missing a finger or two.