I like Serena said:
But we do.
The sets:
1. (U-W)[itex]\cup[/itex]{0},
2. U[itex]\cap[/itex]W,
3. (W-U)[itex]\cup[/itex]{0}
are linearly independent vector spaces.
So any vector in U+W has a unique decomposition into a vector of each of these sets.
There's no need to construct such a unique decomposition - it suffices that it has to exist.
(U-W)U{0} is not usually a vector space.
for example: let U = span({(1,0,0),(0,0,1)}), W = span({(1,0,0),(0,1,0)}).
clearly u = (1,0,1) and v = (1,0,-1) are in U, but not in W.
however, u+v = (2,0,0) is in W, so we do not have closure, (U-W)U{0} is not a vector space.
what you want to do, and this is akin to HallsofIvy's approach, is break down a basis of U+W, into one of these 3 disjoint sets:
a)U-W
b)W-U
c)U∩W
you can't use the sets themselves to partition U+W, because U+W is a lot bigger than U∪W (the union usually isn't even a vector space, the union of the subspaces (x,0) and (0,y) in R
2 is just the x and y axes, which is certainly not all of R
2).