I’ve read quite a bit suggesting that you should hyphenate domain names because Google sees hyphens as spaces, therefore making it easier for Googlebot to identify your keywords. By this reckoning, brighton-kitchen-design.co.uk is better than brightonkitchendesign.co.uk. Some say long domain names are also easier to read this way, which may be true, but they’re certainly not easier to say. They’re not easy to type either. Branding-wise, hyphens are usually considered as mistake.
My gut instinct has turned against hyphens partly because they are awkward to read out (it’s much easier to say the web address is all one word) but also because of the very fact that hyphens do have perceived SEO benefits. This means that a web name with hyphens in it can look spammy and detract credibility.
A quick google suggests that there’s also a debate about whether the SEO benefits are actually there at all, with some tests suggesting domain names with hyphens, especially with two or three hyphens, actually take longer to rank well than those without hyphens (see the OrangeCopper blog for example). Beyond the domain name itself, it’s probably still good practice to use hyphens for pages, images and folders.
In light of this, it looks best to focus on quality content and quality links, and not to use hyphens unless you have a good reason to as in the famous example of http://www.penisland.com. Would you buy a pen from them?