You could have done some Search on Google with "How to choose a domain?", and then you might not have posted this. While you have not few things you must think before actually buying -
1. Brandable - Brandable, meaning that when you hear or see the domain name, it sounds like a brand or not.
2. Pronounceable - Your Audience is going to Type or Click The Domain Name. Thus,It gets important to get a domain which is Easily Remembered
3. Short and Precise - Ex. example.com is okay but thinking-about-example.com is not. This leads me to another Point - Using Hyphens in domain name isnt a good idea, and a worst idea for SEOs.
4. Keyword sensible - Keywords in a domain name can help with the cognitive fluency biases, but also from an SEO perspective. Google has been biasing away from these exact match and partial match domains, but the anchor text you get from people linking to your domain can help.
5. Easily Understandable - A good domain name gives people a strong idea of what a website will be about.
Summary
You Might use Hyphens in a domain name, but it is not advisable as you would only make it readable to human eyes might not effect the Virtual World. In the long run you might regret using such domains. Keep in mind that use of hyphens also strongly correlates with spammy behavior and decreases domain name readability and memorability. For that reason, generally, no more than one hyphen should be used.
Well, I am no expert on the topic, these are the things i consider before buying a domain for myself. Please guys, feel free to correct me if there is anything wrong with this post.