One practical use: you want the core files to be easily upgradable by overwriting over old files, without loosing the customizations.
EDIT: Which means it's useful technique for app developers to allow easy customizations by others.
EDIT2: By example: Magento's framework is able to add or CHANGE existing methods without updating core files, which was one of the strongest reasons for its great success despite various shortcomings.