My suspicion / theory is that most programmers turn on syntax highlighting for the same reason that they have desktop wallpapers: to make their lifes more colorful.
Good language-aware syntax highlighters do a lot more than highlight keywords and other syntactic things, and can make code more readable in a nontrivial way. For example, Eclipse's Java editor will color things differently based on the scope you pull it from, which lets you distinguish local variables, non-static fields, static fields, and inherited fields. It does a similar thing for method invocations, including a strikethrough for methods marked as deprecated. This saves having to manually go to a bunch of definitions in order to get the proper context when reading code you're not familiar with.
When your externally mandated build process is really slow, you appreciate things like easily noticing an unclosed quote, or a missing */ that was supposed to close a comment.
That doesn't make failed builds any less frustrating. Heck, in Python, you don't even have builds, but getting a SyntaxError on import is still frustrating.
To be honest, I often feel as if I was in a brothel on some blogs with CoffeeRubyNodeScript highlighting. (However, the choice of colors on this one isn't too good either)