Both in terms of
SEO and user friendliness, is it better to put hyphens in a multi-words domain name or not ?
For example, is
www.stackoverflow.com better than
I would avoid hyphens in the domain name. While they are useful in the path for a file or post, they add unneeded noise to the domain itself. Imagine having to spell it out for someone..."stack dash overflow dot com" just doesn't sound right.
On the other hand, there are likely some domains where a well-placed hyphen would be beneficial. For example: expertsexchange can be read as expert sex change. A hyphen would make a big difference: experts-exchange.
In the end, it's up to you, but my instinct is to avoid hyphens in a domain name.
Domain name: No. (It’s not normal and is harder to remember. However, preference is okay. It doesn’t affect ranking.)
File Location in URL: Yes. (It’s easier for people to read.)
Depends on your user-base: In Germany everyone would expect hyphens in domain names. In the English-speaking world you should probably avoid them:
On SEO perspective it doesn't matter. Both names rank the same.
And of course in doubt you should purchase both. Every user gets to the right site.
SEO value is not affected by dashes - the search engines ignore them.
But from a user perspective, dashes can make a domain look spammy. Many spammy, exact-match domains have used dashes so they have sort of "poisoned the well".
If the domain name looks and reads okay without dashes, then I would leave them out.