Filling a blank is the easy half. Cleansing fixes what is already there and wrong: the manufacturer sitting in the brand field, the seller's own name, the placeholder somebody typed to get past a required field, the same value in four casings. Every correction keeps the original.
Correcting is riskier than filling, because a wrong fix is harder to notice than a blank.
A casing variant, a category name in the wrong column and a seller's own name are three different faults and take three different repairs. Naming the fault first is what stops a cleanse from flattening real differences along with the errors.
Every corrected field keeps the value it replaced and the reason. You can audit any single change, and you can roll the whole pass back. A cleansed file you cannot check against what came in is just a different set of numbers to take on trust.
Completeness is the metric most catalogs report because it is the one that is easy to compute. Every value on the page below is populated, so all of them pass a completeness check and none of them are right. The score that matters is how many fields hold the kind of thing the field is for.
Taken verbatim from the brand field for one cereal family. Every one of these is populated, and every one of these is wrong.
Correcting a file once is a project. Keeping it correct as the file changes is the part that has to be automated.
Your file, your schema, coded every cycle, with coverage and accuracy measured rather than asserted.
Thirty minutes on your categories. How the record gets built, what it holds, and the questions your team could put to it.