I blame spellcheck. In many cases the most legible solution is a German-style mashingwordstogether, but spellcheck systems highlight those so people hyphenate instead.
For example, spellcheck has a curly red underline right now. But would it really look better as spell-check?
Spell check, no hyphen. Easiest way to figure out what needs a hyphen IMO is to google it. Otherwise, just try to avoid hyphenated words, a simpler word will often do.