Don't use punctuation in domain names
Your domain name is an important part of your brand. You need the brand to be memorable, easy to pronounce, and easy to type - using punctation makes all of those more difficult.
- It's hard to type - users have to hunt around on the keyboard and peck out the domain because they are not used to inputting hyphens. They might put the dash in the wrong place or miss it out and end up at a different site.
- It's not memorable - it's hard to remember exactly where the punctuation goes in your name
- It's not easy to pronounce - if you have a dash, users will have to tell someone else your name is verb dash noun .com instead of just verbnoun.com.
One of the most infamous uses of punctuation in a domain name is in the domain for delicious which used the .us tld to construct the word - quick, without looking it up, type out that domain name and see if you get it right. You probably got it wrong, because after you remember the word, you have to remember exactly where they put the punctuation to make it up. The right answer is del.icio.us which doesn't exactly roll of the tongue. Of course if you make puncutation a core part of your brand like this, you might be able to get away with it, but think carefully before you try.
Now that many other top level domains are available, you don't have to settle for a variant on the name you want under .com, you can also explore other options - see if there is a relevant tld which you can use for your domain idea instead, or think of a short phrase which doesn't have a hyphen. Anything to avoid punctuation.