CI/CD stands for “continuous integration / continuous delivery”. It is a term used for a set of pratcies you put in place in order to simultaneously accomplish the following two:
CI/CD is not any one tool, or any one single thing. It's a complete pipeline of events that happen automatically every time you change anything. This includes automatic building, automatic testing, automatic packaging, automatic upload… everything is automated!
When you have a CI/CD pipeline in place, your job is to be a software developer and write code. The automatic pipeline takes care of the rest!
Think of a project you've been working on which other people use e.g. a C++ library, or a web framework.
You code a new feature. But how do you know if the feature works? Hmm, you can just run the program locally and see. Maybe even write a small test! So you do that, and everything works. No syntax errors, no crashes, no bugs. Great! Time to update the download page. You compile the program, package it into a .zip file, and upload it to the project's site. People can now download the newest version of your software. Great work!
You do this at least a couple of times. But now, you're getting complaints from your users. One person is experiencing a crash, another person is experiencing a weird UI bug, et cetera. Hmm, you'll try to fix all these issues, but for now, you recompile the old version, zip it, and send the working version. But the complaints intensify – more and more users find bugs or unexpected behavior in your software. At this point, you're swamped. You don't develop new features at all – all your time is now spent fixing people's problems, instead of developing new software features. This is now a disaster!
So what happened? What happened is that “just run it quickly and see” was not enough to catch all the edge cases.