The Eclipse Java compiler performs more checks and analyses than are mandated by the Java Language Specification. This is done in order to help you to improve the quality of your Java code. Since different users have different views of which warnings are interesting, this behavior is highly configurable. See Java Compile Errors/Warnings Preferences for available options.
Some warnings and errors should be obvious and generally valid for everybody. In some cases you may want to configure the compiler to match your code style and also your quality goals. Some analyses are most helpful if you to some degree adjust your code style to make it better analyzable by the compiler.
The pages listed below give some background on certain analyses and hints on how to make the best use of them: