A method on the parent class used by only one subclass — `Employee.quota()` used only by `Salesperson`.
Methods used by only one subclass live with that subclass, not on the shared superclass.
Before the refactoring
class Employee {quota() { /* used only by Salesperson */ }}
After the refactoring
class Salesperson extends Employee {quota() { /* ... */ }}
Every other subclass carries surface it doesn't use; readers can't tell which methods are shared and which are subclass-specific; the parent's true interface is muddied.
If the method is occasionally needed in the parent, pushing it down forces awkward type checks back at consumers — verify usage first.
The superclass surface shrinks; subclasses that don't need the method aren't burdened by it.
Pushing down methods used occasionally in the parent for type checks or polymorphic calls — forces awkward downcasts back at the parent's consumers.