The reason is because the primary driver of attraction in women are displays of status. Dressing well is a sign of status. Dressing like an idiot (i.e., top hats), dressing ostentatiously (i.e., bright pink and green shirts), or dressing in a way that’s not congruent with your lifestyle are NOT displays of status. I’ve really come around the last couple years on dressing traditionally while simply dressing one level higher than most other people in any environment you go to. Usually this means nice dress shirts, nice leather shoes, nice watches and belts, ties, vests, suit jackets, etc. Even when everyone around you is in T-shirts and khaki shorts. It’s always better to be over-dressed than under-dressed, so always be over-dressed.