numerical instability
An unstable algorithm is the careless cook: even on a forgiving recipe, the technique manufactures large errors out of tiny ones. Numerical instability is the failure mode where an algorithm amplifies the unavoidable rounding errors of floating-point arithmetic so much that it spoils the answer — even when the underlying problem is perfectly well-conditioned and a different algorithm would have nailed it. The damage is the method's own doing, not the problem's.
Instability usually comes from a sequence of operations that feeds small errors into a step that magnifies them, most often catastrophic cancellation: subtracting two nearly equal numbers that each already carry rounding error annihilates the leading digits and promotes the rounding noise into the leading position. A classic case is the quadratic formula: for b^2 much larger than 4ac, computing the root (-b + sqrt(b^2 - 4ac))/(2a) subtracts two near-equal quantities and loses most of the digits — yet the mathematically equivalent rearrangement using the product of roots recovers them. Same problem, same precision, but one ordering is unstable and the other is fine.
The honest framing: a large error from an unstable algorithm is a fixable fault — change the algorithm and the error vanishes. This is precisely the opposite of an ill-conditioned problem, where no algorithm can help. So when an answer looks wrong, the diagnostic question is: is the PROBLEM ill-conditioned (then live with it or reformulate) or is my ALGORITHM unstable (then choose a backward-stable one)? Confusing the two leads people either to abandon solvable problems or to keep trusting a broken method.
Computing the smaller root of x^2 - 200x + 1 = 0 by (-b + sqrt(b^2-4ac))/(2a) gives 200 - sqrt(39996) ~ 200 - 199.98999... — catastrophic cancellation leaves few good digits. Instead compute the large root first, then use root1 x root2 = c/a to get the small root accurately.
A well-conditioned problem ruined purely by the chosen ordering of operations.
Instability is the algorithm's fault and is repairable by reformulating the computation; do not confuse it with ill-conditioning, which is the problem's fault and no algorithm can cure.