Signs and Symptoms
A variable, parameter, field, method or class is no longer used (usually because it's obsolete).
Reasons for the Problem
When requirements for the software have changed or corrections have been made, nobody had time to clean up the old code.
Such code could also be found in complex conditionals, when one of the branches becomes unreachable (due to error or other circumstances).
The quickest way to find dead code is to use a good IDE.
Delete unused code and unneeded files.
To remove unneeded parameters, use Remove Parameter.
Reduced code size.