Hyphens (Dashes)
I am against using dashes in a domain name, if it can be helped. Sometimes it can't -- and sometimes it may even work to your advantage to have dashes in your domain name.
Many people use the technique of putting dashes in their domain name between keywords in an effort to improve their search engine rankings. For instance: perfectkeyword-perfectkeyword.com. It is also frequently argued that smaller sites should not think of the future (or branding), and should instead just buy these domains for the keyword value to help them get off the ground. That may be one way to approach it -- and it may be a good way -- but why can't you do both? I have found that if you have two perfect words in your domain, without a dash, it will also perform well. For instance, one of my sites is phpBBHacks.com. Search for it on Google for "phpBB Hacks" and it comes up first.
People will remember your site name, but will they remember that your site's domain name has a dash in it? Probably not. Having a dash in your domain name can also present problems in vocal marketing. You may as well buy the domain YourDashName.com, if you are going to use Your-Name.com because that's how it will sound when you tell a person about your site vocally. This is not a big issue, but it is worth keeping in mind.
Finally, how many major sites use a dash in their primary domain name? Not many, and again, this is no coincidence.
Numbers
Domains that contain numbers have the same problem as those with a dash -- such as the vocal marketing issues we just mentioned -- and they don't enjoy the benefit of their keyword-heavy counterparts. That said, just like dashed names, domains with numbers can serve a purpose in specific cases. But again, just like dashed domain names, how many large sites do you see out there that incorporate numbers in their main domain? A few (including 4anything.com), but not many as compared to the number of popular .coms.
Spelling
Don't fool around when it comes to spelling! Some people try to play games in this area, but domains like Gurl-Gamerz.net just won't cut it -- they'll only confuse people. Don't try to spell something phonetically (the way it sounds when spoken). And whatever you do, don't submit 0 for o -- for instance y0urname.com -- it'll only hurt your site.
Spelling the domain name correctly ensures that people will find your Website a heck of a lot more easily, and your URL will confuse as few people as possible. Spell it right and move on.
Length
I've seen some long domain names, and I'm sure you have too. Most of the time, all they do is turn me off. Keep your domain as short as possible, while maintaining a good, sensible name. For instance, you wouldn't use ESS.com instead of eSportsSection.com, because ESS.com won't tell your users what your site is about, and it'll only make it more difficult for people to return to your Website.
My rule of thumb is to use a maximum of around 22 characters, with 8-14 being a safe average. However, if the domain name is perfect for your site and is longer than this, it may just be worth it.
Prefixes
Many sites use prefixes in their main domain name. The most popular ones are i and e, but you might also have seen v, z and x with some frequency. I suppose that pretty much every letter can be a prefix, and they don't usually stand for anything. Of course, they don't necessarily have to stand for anything, either, but i is most commonly for "Internet," e for "electronic" and v for "virtual."
I stick with i and e for the most part, as their success has been proven, which is why they're the most respected of all of the prefixes. If you can get a great domain name without a prefix, don't hesitate! However, if you find a perfect name (preferably a .com) that starts with an i or e, it may be a wise decision to take it.