As mentioned in Key Concepts in Modern Application Development, continuous delivery (CD) is a practice where teams make use of automated processes so that any code changes result in the building and testing of new software that can then be deployed to production (if appropriate).
Continuous delivery does not mean that every code change is deployed to production. Instead, a continuous delivery environment typically includes a number of different environments for deployment, where deployments to some environments happen automatically but deployment to other environments requires some manual input or approval.
For example, a continuous delivery environment could include deployment environments for development, testing, staging, and production, where deployment happens automatically for the development and testing environments, but manual intervention is required to approve deployment to the staging or production environments.
Using continuous delivery in this way enables you to deliver application changes quickly and more reliably, leading to improved product quality and user experience.