A condition $A$ is **necessary** for $B$ if $B$ cannot occur without $A$. In other words, $A$ must be true for $B$ to be true.
A condition $A$ is **sufficient** for $B$ if $A$ guarantees $B$. In other words, whenever $A$ is true, $B$ must also be true.
A necessary condition does not guarantee the outcome but makes it possible. Conversely, a sufficient condition ensures the outcome, but it may not be the only way to achieve it.