I've used quite a few open-source and commercial static analysis tools across many languages and I find that the overall discussion fits under the umbrella of a concept known as technical debt (which this article goes into detail about).
However for a quick answer, here are my favorites per language:
- Java: Google CodePro Analytix & Checkstyle
- .NET: FxCop & StyleCop
- C/C++: McCabe IQ