So yes, there are some very simple generic algorithms (line length checking, spacing corrections, we have things like variable name checking in the works which only need a few lines "language definition") and you can combine them with - possibly wrapped or not - language dependent algorithms easily.
This is useful for the user because he doesn't have to learn and configure tons of tools and he has some basic functionality for every language - even the ones he writes tomorrow.
It's also useful for people writing static code analysis because they can just write their algorithm and be done with it - why should everybody rewrite a CLI interface, editor plugins and so on?
I wrote a thesis about code clone detection (another algorithm that is basically generic and would need only a relatively small parsing part per language, coala allows me to modularize meanfully into parsing and language independent AST processing) and it just took me a few functions that actually performed the analysis. People can now use it easily which usually isn't true for research programs and I had even less work than I would have if I had written it without coala.