Suppose that we have a nonzero
polynomial f(x) with coefficients in
Q (or more generally any
subfield of
C). Then we know by the
fundamental theorem
of algebra that we can factorise our polynomial
f(x) as a
product of linear factors (i.e. find the roots of
f(x)) in
the complex numbers).
But what do we do if we have a field which is not a subfield of C,
such as a finite field?
We still want to be able to find a bigger field in which a polynomial
will factorise. That is what splitting fields are for.
Definition
Let M be a field extension of K.

A nonzero polynomial
f(x) in K[x] splits over M if there exists
a,b_{i} in M such that
f(x)=a(xb_{n})...(xb_{0}).

M is called a splitting field for f(x) if f(x) splits
over M and if whenever M is a field extension
of L such that f(x) also splits over L then
M=L.
In other words, a splitting field is a field where you can find all the
roots of your polynomial and it is as small as possible.
It is a nontrivial fact that if a splitting field exists then it
is unique up to isomorphism. Here is a proof of the uniqueness
of splitting fields.
I will sketch the proof that splitting fields always exist.
Suppose that f(x) is irreducible. Then we can consider
the quotient ring K[x]/f(x)K[x].
It is quite easy to prove that this ring is also a field and is
a field extension of K. Furthermore, if we write a
for the image of x then in this ring we have that f(a)=0.
Thus, we are able to make a field extension of K which contains at
least one zero of f(x). By repeating this process we can
create a splitting field.