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.
That second example is the one that would stick with me. Keeping one broader backup name can feel unnecessary at first, but after a client pivots, an extra renewal is cheap compared with changing email addresses, links and branding all over again.