A term coined in the mid-90's by British
journalist Mark Simpson. He defined it as applying to men regardless of
sexual orientation, but he first applied it to David Beckham, apparently as an
alternative to “heterosexual”, with which it obviously rhymes. Mark Simpson’s definition starts: “The typical metrosexual is a young man with money to spend, living in or within easy reach of a metropolis . . .” In current use, it almost always applies to straight guys; but with the inference that their fascination with fashion and appearance matches stereotyped
assumptions about gays. Thus, it's something of a third
alternative to the hetero-/homosexual dichotomy: an urban straight guy with stereotypical “gay” interests. At first it was a neutral descriptive, and was jumped on by marketing types eager to start selling more overpriced clothes and skin/hair products to notoriously shopping-shy males. But as it evolved in mainstream use, the term gradually picked up a pejorative connotation, much as its close cousin, “yuppie”, did in prior decades; not because of its sexual implications, but rather because of its “snotty, rich young show-off trying too hard” image, and the vague sour-grapes suspicion that such guys get to sleep with hotter and classier women. Although the term has become pejorative, it hasn't stopped the practice. There are still plenty of metrosexuals (and yuppies); they just wouldn't want to be called that.
It has spawned a counter-term: “retrosexual”, presumably a guy whose preferred evening wear is jeans or Dockers, an untucked Bengal-striped dress shirt, white gym socks and Kenneth Cole loafers. There's also a synonym: uber-sexual, which is basically a celebrity willing to flaunt his
metrosexuality (e.g., Beckham). The latter word hasn't really caught on.