During the Middle Ages, weddings weren't just a marriage between two people, but were often a union between two families, businesses or even Countries. Because of this, many of the marriages amongst the upper classes were more about politics than love. When it came to their big days, they were dressing more to ensure their families were properly represented than for fashion.
Wealthy brides would often wear rich colours and opulent fabrics such as fur, velvet and silk, whereas poorer brides would wear their "best church outfit" instead.
The first recorded bride to wear white was Philippa of England who wore a white silk tunic and cloak trimmed with squirrel and ermine fur in 1406. Mary Queen of Scots married her first husband in white as it was her favourite colour (although it was also the colour of mourning at that time for French Queens).
In 1840 Queen Victoria chose white for her wedding to Prince Albert as she wanted to incorporate some lace she loved into the design. After her wedding photos were published, many brides chose to follow suit and wearing white became commonplace.
After that the trends in wedding dresses followed fashion, with the 1920 styles being shorter and usually worn with a close-fitting cloche hat, '50's styles having shorter skirts and '60's styles going mini! It wasn't until the late '60's / early '70's that dresses returned to reflecting the longer, full-skirted styles of the Victorian era.
Nowadays pretty much anything goes in any style, colour or price-point. However, around 75% of all wedding dresses sold are strapless or sleeveless - alhough thanks to Princess Katherine more long-sleeved lace styles are currently filtering through!