Theory
DDD's first move is to share vocabulary between domain experts and developers. If the business says invoice, the code says Invoice. If the business distinguishes invoice from receipt, the code does too — and the model stops drifting from the business.
The ubiquitous language is the contract that keeps the model honest.