The idea of making a mathematical theorem robust to small changes in its hypotheses has been known for some time. In areas such as group theory reasonable progress has been made leading to the theory of approximate groups - see Terence Tao's comment here and related notes.
It seems that Stanislav Ulam was the first to discuss this overall concept in reference to the stability of functional equations in a talk in 1940. In his "A Collection of Mathematical Problems", Chapter 6, Section 1 "Stability" he asks "When is it true that by changing a little the hypotheses of a theorem, one can still assert that the thesis of the theorem remains true or approximately true?" He gives the following example by way of illustration:
"If $f(x)$ is a measurable real- valued function defined for all real $x$ satisfying the inequality $|f(x + y) - (f(x)+f(y))|<e$ everywhere, one can show that there exists a function $l(x) = ax$ such that $l(x + y) = l(x) + l(y$) and $|l(x) - f(x)| \leq e$ everywhere. We say then that the functional equation of linearity $f(x + y) = f(x) + f(y)$ is stable with respect to a change into an inequality."
My question is:
What progress has been made in making appropriate parts of mathematics robust in this sense and what are the important results that have been proved in this direction?
Note that I don't mean making proofs more robust but rather asking how can we adapt or discover theorems that are robust to small changes in their hypotheses so that the theorem remains true or approximately so. (See the references above to approximate groups and Ulam's example.)
A further example would be in statistics where the assumption of normally distributed noise is very common. However in reality noise is never normally distributed and so it is very important to have theorems say about robust estimators that have desirable properties even if the gaussian assumption is not met, up to some approximation.
What I am really asking for is examples of mathematical fields where this process has occurred. Great detail is not necessarily required just a quick outline with references would be great.
Related to Sam Hopkin's answer and Will Sawin's comment is the common pattern especially in combinatorics - "if a system is not in the state S then there exists an object with property P". If we take the contrapositive we get "if there are 0 objects with property P then the system is in the state S". 0 can then be parametrised to generate more robust theorems - "if we have less then x objects with property P the system is in the state S". I gave the example of the Sylvester-Gallai theorem in my comment to Sam's answer.