Hyphens, just like all punctuation, exist to make meaning plain.
"Small-business owner"? Yes, please — because it clarifies that you own a small business, not that you’re a small owner of a business.
"Extra-sharp cheddar"? Absolutely — so we know it’s the cheddar that’s sharp, not the extra.
But when you throw a hyphen between words just because they look cute together, like "fancy-dress" when you're talking about a gown, you’re just overcomplicating things.
Hyphens are meant to clarify, not confuse.
Save them for when you’re creating a compound adjective before a noun ("well-known artist"), avoiding ambiguity ("re-cover" vs. "recover"), or including certain prefixes such as
"ex-" ("ex-friend").
Otherwise, put the hyphen down and back away slowly.