Extensions are the elegant solution to handle a special cases requiring specific programming that does not conform to a general model. Examples include validation, enforcing complex business rules, integrating remote systems, etc.