What is the purpose of solder mask expansion?
If the solder mask expansion were 0, in theory -- assuming everything aligned perfectly -- the board would work fine.
In practice, things never align perfectly. The actual hole punched in the solder mask may be slightly less than what you specified ("shrinkage"), and that hole is always be placed in a slightly different location than what you specified ("movement"). If your solder mask expansion is too small, then these misalignments cause the solder mask to partially or completely overlap SMT pads and through-hole pads.
If the solder mask completely covers most or all of the pad, the SMT part will be completely disconnected from that pad. Then the board will immediately fail the end-of-line go-nogo test.
Many people specifically design the pads of a footprint to comply with IPC's fillet recommendations. If the solder mask even partially covers some of that pad, then the fillet of solder will be smaller than a person looking only at the copper might expect. If the fillet of solder is too small, then the (SMT or through-hole) part will not be mechanically attached as well. After a few thousand cycles of vibration, the solder may eventually crack, and the part will be completely disconnected from that pad or hole. Then your customer will notice the problem. (This is much worse than a board failing the end-of-line go-nogo test).
Daniel Grillo gives an excellent explanation of what happens if the solder mask is too big.
Perhaps this scan of a (rather poorly) commercially made board will illustrate the tolerance issues involved:
Solder resist masks are plotted oversize to allow for mask shrinkage, movement and inaccuracies, according to the manual for the Pulsonix PCB software I use. The default value is 5 mil.