One of the most important factors in seo is choosing your domain name. It can be said that domains are worthless, as we've seen from such dotbombs as pets.com and loans.com going for millions of dollars in the early internet boom days (yet the businesses failed one after another). There is still some emphasis you need to place when picking a domain name for your new web site.
If you're really going after a specific topic in your web site, you want to try to pick a domain which has those keywords in it. For example, in choosing the domain for this site, the goal was to use "organic" and "seo" in a domain name, since that is the phrase we try to target most at this site. The two ".net" and ".com" domains were already taken, so a ".org" is just as good. Considering this site is a free site, where anyone can contribute and the content is licensed under the Gnu Free Documentation License, "organicseo.org" was perfect, as it implies not-for-profit.
As you've probably noticed, extremely long domain names with hyphens in them are becoming more and more prevalent in Google and other search engines. The problem is that they will improve your ranking to an extent, but then when you go to the site, you see nothing but some crappy spam web site. Just the kind of seo we frown upon here! Avoid using incredibly long domains like "extreme-use-of-keywords-here.net". As an active web surfer, people will simply skip over those domains in Google serps, without so much as a look. Most of those domains generate doorway pages, gear towards feeding the spider, but useless to humans.
That being said, it's not all about the domain name, unless you can get something like seo.com, but all those short one-word domains are taken. It's also important to pick a domain name people can remember, and type easily from memory. You can even makeup a word like zupes.com (http://www.zupes.com). Remember, the domain is just one small factor in seo, and it certainly will not make or break your web site. So be creative, use the Network Solutions (http://www.netsol.com) domain name suggestion tool for ideas. The goal is to get visitors to your site, and once they are regulars, you want them to be able to type it in their browser easily. So again, avoid doman names such as "extremely-lame-and-long-domain.net". Nobody will ever type that into a browser, and it inherently implies "suckiness" when seen in the serps.
Once you've decided on a domain name, you'll have to register the domain name with a domain registrar. There's no reason to pay more than $10 per year for a domain name. Some of the cheaper registrars are Godaddy (http://www.godaddy.com) and Yahoo! Domains (http://smallbusiness.yahoo.com/domains/). You should make sure that the registrar you pick has an auto-renew feature that will automatically bill your credit card before the domain expires. Othewise, you may loose it if you forget to pay the bill - then it's off to the auctions! It's also nice to get email notifications when a domain is coming up for renewal. Also watch out for scams, like "Free domain registration!". You want to make sure you are infact the owner, and not the company who is offering free domains.
If you're like me, you may want to go with godaddy.com or mydomains.com (http://www.mydomains.com), as yahoo forces you to use your real name on the public whois information.
One question that comes up often is where to place different applications on a domain name. For example if you have a blog in addition to your main site, what is the best strategy with respect to the domain name?
blog.example.com is my least favorable choice; however would be a good idea if the main site or application on example.com is completely independent of the blog. You may also consider using example.com/blog.
In the case of questionable or "spammy" content (ie: link directories, MFA sites, etc) I would avoid example.com/directory and instead use either a new domain example-directory.com (for the directory site) or directory.example.com -- It's a good idea to keep sites that could potentially hurt overall ranking of the main site isolated to its own sub-domain.