Null Space and Column Space
Every matrix $A$ takes vectors from one space and sends them to another. Whenever you solve a linear system with this matrix, you need to know whether a solution exists for the given right-hand side and whether it is unique when it exists. The entries of $A$ do not answer either question directly. Two subspaces do. The null space is the set of all vectors the matrix maps to zero, and it determines uniqueness. The column space is the set of all possible outputs of the matrix, and it determines existence.
The null space of $A$ is the set of all vectors $\mathbf{x}$ satisfying $A\mathbf{x} = \mathbf{0}$. These are the inputs that are sent to the zero vector. If the only such input is the zero vector itself, then the matrix sends distinct inputs to distinct outputs, and the map is one-to-one. If the null space is larger, it contains an entire subspace of vectors, all of which the matrix maps to the same point.
The column space of $A$ is the set of all vectors that can be written as $A\mathbf{x}$ for some input $\mathbf{x}$. Every product $A\mathbf{x}$ is a linear combination of the columns of $A$, with the entries of $\mathbf{x}$ as weights. So the column space is exactly the span of the columns. A system $A\mathbf{x} = \mathbf{b}$ has a solution exactly when $\mathbf{b}$ belongs to the column space. If $\mathbf{b}$ lies outside it, no choice of $\mathbf{x}$ satisfies $A\mathbf{x} = \mathbf{b}$.
Take a concrete case. Let
\[A = \begin{bmatrix} 1 & 2 & 3 \\ 0 & 1 & 1 \end{bmatrix}.\]This matrix maps $\mathbb{R}^3$ to $\mathbb{R}^2$. Three columns live in $\mathbb{R}^2$, but at most two can be linearly independent. The first two columns, $(1, 0)^\top$ and $(2, 1)^\top$, are independent, and the third column $(3, 1)^\top$ is their sum. Since two independent vectors span all of $\mathbb{R}^2$, the column space is $\mathbb{R}^2$ itself. The system $A\mathbf{x} = \mathbf{b}$ has a solution for every $\mathbf{b}$ in $\mathbb{R}^2$.
For the null space, solve $A\mathbf{x} = \mathbf{0}$. Row reduction gives $x_2 = -x_3$ and $x_1 = -x_3$, with $x_3$ free. Every solution is a scalar multiple of $(-1, -1, 1)^\top$. The null space is a line through the origin in $\mathbb{R}^3$. Any two inputs that differ by a multiple of this vector produce the same output.
The dimensions of these two subspaces are linked. The column space here has dimension 2, and the null space has dimension 1. Together they add to 3, the number of columns of $A$. This is the rank-nullity theorem. The dimension of the column space is called the rank, and the dimension of the null space is called the nullity. For any $m \times n$ matrix, rank plus nullity equals $n$. The rank and the nullity together account for the dimension of the entire input space.