I have 4 BM and decided from the start I wanted to pay for their dresses because they are already paying ~$1,800 each for flight and resort at the wedding. I know that it isn't usually expected, but I thought that it would be a nice gesture since all my BM are University students or new parents. I know that each girl would have paid for it herself, but I didn't want to add stress to them already saving for the wedding.
Paying for the BM dresses also made it more effecient for me when I was home (I live in another country than 3 of my BM). I went to David's Bridal and picked out my wedding dress and 4 BM dresses all in less than 2 hours!!! I paid and checked out all at once, knowing that was done I chose the same colour, but let each pick the style and they were $135-150 each.
In the end, paying for 4 BM dresses and 4 groomsmen clothes was about $1,600 of our budget, but I'm happy we did it and adjusted our budget elsewhere (i.e. small cake and no dj).
I think it depends on each BM's financial situation, but if you buy the dress for one, its good to buy it for them all.
Ironically, I am in 2 other weddings this year and I am buying a BM dress for both