It depends on the girl really, some girls look better as a blond other girls look better as brunettes, and very few girls in my opinion look good as red heads. but if you take each one of those girls and give them a different hair color, they probably won't look as good as their natural hair colors. I hate the blondes that are only blond because they dye their hair. When a lot of them actually look better as brunettes. What I have notices is in the 90's it was all about the blondes now here in the 2000s its all about the brunettes... for all we know it could be a different hair color by the end of the next upcoming decade.
Like Ouple below said, ultimately its just an opinion and like any fad, this one also is bound to change. Its like saying why most people prefer tanned skin over untanned white skin. (jessica alba Vs Gwyneth Paltrow, renee zellweger). An explanation might be that darker skin "looks" healthier / more glowing.
Maybe same is true with the black hair. Many times blonde hair look dry and unhealthy. I too prefer brunettes, but mostly because most of the people can pull that look off.
Well from a male point of view I think we see more brunettes out there. Like Megan Fox, Jessica Alba and most of movies you see out their they are all brunettes we have been brain washed :). I love both women's hair colours I had/have a crush on a blond girl. If I dating her I would even trade her for a one night stand with Megan Fox. So in the end I think guys are just more attracted to brunettes they look for naughty. But if guy finds the right girl he won't give a crap about her hair colour.
I think many guys like bruntette because blondes have a bad reputation of being 'easy' and unitntelligent. So if a guy admits he likes blondes it reflects badly on him, that he likes women who display those traits.