In September 1999 a spacecraft called the Mars Climate Orbiter reached Mars after a journey of nine months, went behind the planet as planned, and was never heard from again.
The investigation that followed did not find a broken part or a bad line of arithmetic. It found two teams, both careful, both correct within their own system.
One team's software reported the small pushes used to steer the craft in imperial units. The other team's software read those same numbers as if they were in metric units. Neither figure was wrong. They simply did not mean the same thing, and nothing in the numbers themselves said so.
The discrepancy was small on any single correction, and it built up across the whole journey. When the orbiter arrived it was on a path far lower into the atmosphere than intended, and at that altitude it could not survive.
What makes the case worth telling is how ordinary the failure was. No single person did anything wrong.
The board's recommendation was not that engineers should be more careful with their sums. It was that units must travel with the numbers, at every boundary between one piece of software and the next.
Which is the same rule a pupil is given for a two-line conversion question: write the unit beside the number, every time, and check that what is left at the end is the unit you were actually asked for.