Domain-Driven Design is an approach to develop modern software solutions, which puts the business domain in the center of the development process.
Domain experts (e.g. customers, users) and developers, which are both part of the development, will focus on processes in the business domain. They create a collective understanding in form of an ubiquitous language in order to have clear communication and to keep the software solution close to the requirements of the business domain.
Domain-Driven Design has a higher adaption cost at the start than other paradigm of software development, but it delivers software, which is so close to the business domain, so developers and domain experts may easily adapt changes and add new requirements as they come along. At the same time it delivers the promise, that software will reflect exactly the solution the business domain wants. Therefore there is no development which might not meet customer or user needs.