There is a lot of confusion about the use of hyphens being used in domain names. While researching hyphenated domain names I found a lot of conflicting information so I will give you a distilled view of what is currently believed to be the facts regarding hyphens in domains.
When I started Name Search Domain I had a lot of trouble finding a domain that I could use to reflect the topic of my site. After quite a bit of research I decided on NameSearchDomain.com, without hyphens.
It used to be the case that using a hyphen to separate keywords in your domain name would give you a better ranking in the search engines. For a while this was the case but due to the over zealous use of keywords in domain names, search engines now consider this as a spamming technique. Using hyphens in your domain name still makes it easier for search engines to read but it generally will not benefit your ranking.
If you use an unhyphenated domain name like myself using keywords it is generally believed that search engines such as Google can pick out the keywords. If you use hyphens then the keywords are easier to pick out from your domain name. So if there is no search engine benefit to using hyphens and keywords in domain names why do people still use them. The answer is undoubtedly anchor link benefits and ease of readability.
If you have hyphens in your domain name it is easier for a human to read and recognise the keywords in a domain. Take a look at specialistcheeseemporium.com or visit specialist-cheese-emporium.com. It is quite obvious that the hyphenated version is going to be recognised more easily.
Recognising the domain name is one thing but entering a domain name into your browser is another. It is easier for someone to type the unhyphenated domain name and it is easier for someone to give out the domain name to a customer if it doesn't have hyphens in it. Some people may not know what a hyphen is.
There is believed to be another benefit of keywords in domain names and that is anchor links, that is keywords in back links to your site. If a webmaster links back to your site from their site they often use the domain name as the anchor text. This is obviously good for you as it helps in reinforcing those keywords with your site to the search engines. So if your site is specialistcheeseemporium.com they may type this as all one word or possibly as specialist cheese emporium. For the hyphenated version they would probably type specialist-cheese-emporium.com.
So when choosing your domain name and deciding on whether to use hyphens you need to consider how the domain name is going to be interpreted and used by other people, not machines. I chose my domain name without hyphens purely because most people will type domains without the hyphens. I do use hyphens but only in my filenames as this makes it easier for people to read and people are less likely to type in a page name as they are a domain name.
Find out more about Domain Names at Name Search Domain. Stuff you need to know if you are thinking of buying a domain name.