Avoid hyphens if possible. There is no hard rule that you should not use hyphens in domain name. The reason to avoid is that use of hyphens strongly correlates with spammy behavior and decreases domain name readability and memorability for the users. Most of the visitors prefer and trust simple domain names.
Tip: If you are going with domain name with hyphen then make sure that the non-hyphenated domain is not a brand, Otherwise your site will look like a Spam or phishing website.