Every value in a CSV file arrives as text, and the reading program decides what type each column becomes.
When a column contains anything that does not look like a number, the whole column usually stays text.
Coercion is the step that takes control of that decision instead of accepting the guess.
Cleaning comes first: remove currency signs, thousands separators, percentage signs and stray spaces.
Then convert, and decide what should happen to any values that still fail.
Failing loudly stops the work, which is right when every value is expected to convert.
Turning failures into blanks lets the work continue, which is right only if the blanks are then counted and checked.
Words such as none or n/a are common among failed values, and sometimes mean 0 rather than unknown.
Coercion in the other direction matters too: postcodes, phone numbers and product codes should stay text.
Reading them as numbers drops leading zeros and can turn very long numbers into rounded decimals.
True and false values are another trap, because yes, Y, true and 1 all need mapping to one value first.
Decimal commas, as in 3,5 meaning 3.5 in much of Europe, change meaning if read with the wrong convention.
In practice, setting the type of every column when the file is read makes the decision once and in plain view.
That turns a surprise later on, such as a total that joins strings, into an error on the first line.
The usual mistake is coercing failures into blanks and never looking at how many values failed.