a subspace U of a vector space V is a subset U of the underlying set V that is itself a vector space with the same operations as V. this means 3 things:

1) the operation + of V when applied to vectors u,w in U always gives another vector in U (that is: u+w is in U whenever u and w are)

2) the scalar multiplication of V when applied to a vector u in U always gives another vector in U (for any scalar a in the field F, au is in U whenever u is).

3) U is non-empty: equivalently (and usually easier to check): the 0-vector of V lies in U.

the span span(S) of a set of vectors S = {v_{1},v_{2},...,v_{k}} is the set of all linear combinations {a_{1}v_{1}+a_{2}v_{2}+...+a_{k}: a_{j}in F, v_{j}in S}.

the span of a set is always a subspace, and a subspace U is always the span of some smaller subset S, called a BASIS for U.

so a spanning set is a basis "with some extra vectors thrown in". for example {(1,0),(0,1),(3,4)} is a spanning set for the plane R^{2}, but we don't need the vector (3,4) just the first 2 will suffice.

big picture:

you have a vector space V. in it are LOTS of vectors (usually infinitely many). instead of trying to catalog every single one of them, we want to study just a smaller amount of them.

for R^{2}, a basis is {(1,0),(0,1)}. instead of studying every (x,y), we can just study (1,0) and (0,1), since (x,y) = (x,0) + (0,y) = x(1,0) + y(0,1). this means that most of what we know about points in the plane can be handled "one coordinate at a time".

of course, sometimes we are just given a handful of vectors, and we want to create the smallest subspace that contains all of them (to keep the space we're studying as simple as possible). that subspace is span(S).

subspaces are vector spaces, just "smaller ones" that live in "larger ones" (we start with V, and consider some smaller U).

spans are ALSO vector spaces, but "larger spaces" that contain some given set S (we start with S and expand it until it becomes a vector space, by considering all linear combinations of S).

so it really depends on what you're given to start with. usually, the "mommy space" V is given. then you are given a subset S.

if S satisfies the 3 rules above, then S itself is a vector space, and thus S is a subspace of V. if S is NOT a subspace, we can make it into one, by taking linear combinations of S.

{(1,0)} is not a subspace of R^{2}. this is because a(1,0) = (a,0) which is not (1,0) for EVERY real number a. span({(1,0)}) = {(a,0): a in R} IS a subspace of R^{2}(you might recognize this as "the x-axis").

short version: span is something we do to a SET, to make it INTO a vector space. subspaces are subsets that are ALREADY vector spaces (no extra effort required).