Whenever a method overrides another method, or a method implements a signature in an interface.
The @Override
annotation assures you that you did in fact override something. Without the annotation you risk a misspelling or a difference in parameter types and number.