White is not necessarily an impractical colour. A historical reenactor explained to me that sailors' uniforms were white, because they could be heavily bleached when dirty, without worrying about fading. Other colours would, after a few cleanings look too washed out.
Not likely to apply to a wedding dress, though.
Bed linens and underclothing followed the same logic. They were also made of sturdier fabric that could be bleached but they didn't have the drape wanted for a dress with flounces, pleats, etc. Then again, many colours were also very, very fickle (although they could often be redyed, specially black).