I have written many posts about Continuous Integrations and implemented many projects with capability of Continuous Delivery. However multiple times got into discussion on what exactly is difference between Continuous Integration, Continuous Delivery and Continuous Deployment. As SFDX is new way to develop and deploy changes in Salesforce, just thought to post a small post on basic difference between these terms.
Continuous Integration is automated build scripts to detect changes in Source Code Management (SCM) like Git. Once the change is detected, source code would be deployed to common dedicated build server (Sandbox) to make sure build is not failing and all test classes and integration tests are running fine.