potential outcomes framework
For each unit imagine two parallel worlds: the outcome it would show if treated, and the outcome it would show if left untreated. The potential outcomes framework names these two quantities up front, calls the difference between them that unit's causal effect, and then confronts the inconvenient fact that you only ever observe one of the two. This 'fundamental problem of causal inference' reframes effect estimation as a problem of filling in systematically missing data.
Each unit carries a pair Y(1), Y(0); the realized outcome is Y = T*Y(1) + (1 - T)*Y(0), where T is the treatment indicator. To recover average effects from data you typically invoke two assumptions: SUTVA (one unit's treatment does not change another's outcome, and there is a single version of treatment) and ignorability or unconfoundedness (treatment is independent of the potential outcomes given the measured covariates). Under these, conditioning on covariates makes treated and control groups comparable and effects estimable.
The framework is the lingua franca of statistics and econometrics, and it maps cleanly onto structural causal models: a counterfactual Y(t) is what an SCM yields under do(T=t). Its discipline is to force every assumption about missing counterfactuals into the open, where it can be argued about rather than hidden.
The individual effect is the gap between two potential outcomes; only one term of the second expression is ever observed.
Ignorability is an assumption about unmeasured confounding, not a property the data can confirm; richer covariates make it more plausible but never prove it.