We need to resurrect the hyphen.
Lots of people out there, especially native speakers, seem to be ignoring the hyphen.
The hyphen is important to keep the sentence syntactically coherent.
Let's see some examples:
A 21-year-old girl.
A face-to-face meeting.
An out-of-the-question issue.
A state-of-the-art device.
An out-of-stock book.
An up-to-date account
An out-of-date curriculum
An I-told-you-you smile
A step-by-step explanation
A day-by-day basis
Each of the hyphenated expressions acts as an adjective and can be put without problems before a noun.
But if you remove the hyphen, the syntax of the sentence changes:
A face to face meeting: a facial expression to attend a meeting.
A state of the art device: the state of devices of art.
With the hyphen you are indicating that the whole expression acts as an adjective and can be put before a noun.
If the syntax of the sentence doesn't change, the hyphen in unnecessary.
For example should it be "egg beater" or "egg-beater"?
"Egg" is a noun, "beater" is also a noun. In terms of syntax, it is perfectly possible to have a noun followed by another noun. The first noun acts as an adjective. So in my opinion the hyphen in unnecessary because it doesn't change the syntax.
Another example: man-eating shark.
Here we are clearly talking about a shark that eats human beings.
But without the hyphen the meaning changes completely. It becomes a man that is eating shark meat.
A good-looking girl (a girl that looks good)
A money-making machine (a machine that makes money)
A pain-inducing pill (a pill that induces pain)
A bed-wetting child (a child that wets the bed)
A movie-watching audience (an audience that watches movies)
You can also make hyphenated sentences with the past participle:
A pill-induced pain (a pain induced by pain)
A machine-made money (money made by a machine)
A child-wetted bed (a bed wetted by a child)
An audience-watched movie (a movie watched by an audience)