What changed it for me was listening to a client read their own domain out over the phone. It had a hyphen in it, so every call turned into spelling the thing letter by letter. I bought the unhyphenated version for them at renewal and have not put a hyphen in a client domain since.
The other one is naming a site after what the client does today. Two of them pivoted inside three years and ended up paying to redirect a name that no longer described anything. Boring brandable names age better than descriptive ones.