Regarding SEO - I think search engines must realize that the most appropriate domain names for a particular site have probably already been taken.
Therefore to rank a site based on domain name would not be very fair.
Yes, as website builders we must understand what search engines are looking for and optimize our sites, but also search engines must continuously tweak their algorithms as internet trends change.
Therefore, I would hope that the clever people at google realize this and increasingly reduce the weighting of domain names. If you build an honest site, with good content it is the job of search engines to appreciate this. Just like a dictionary changes as peoples use of a language changes.
Conclusion - Just choose a domain name that you imagine people could easily remember and would be easy to tell somebody over the phone - with or without hyphens!