When developing corporate-level business applications (Enterprise Scale) customers often requires implementing support for extensibility of the application object model not modifying the system source code. Use of extensible domain model allows for development of new functionality without additional effort and overheads:
1) the application will be used for a more lengthy period
2) the system workflow can be modified over time when changing external factors
3) “setting” the application to fit specifics of an enterprise where it has been deployed.