1. Use a .com
While there are a number of other top-level domains (tld's) you can buy domains for, .com is the preferred extension for any business. Some browsers will autocomplete .com, so if someone enters "yourname" in the browser location bar, they'll automatically be sent to yourname.com.
.net is a good second choice, if you can't find an available .com that you like. Most other tld's are not appropriate or too difficult to say (see #3, below).
2. Shorter is Better
It's a lot easier to type (and say) shorter domain names. And if you're giving your domain name to customers, they're going to be annoyed if they have to type a really long name into their browser. It's much easier to type joeswidgets.com than joessuperwidgetfactory.com.
Try to stick with names that are 10 letters or less in length (not counting the .com extension).
3. Be sure you can say the name without having to spell it out for people.
If you meet customers in person, speak to them over the phone, go to trade shows, or otherwise ever have to tell someone your domain name, consider how easy (or difficult) it is to say the name you want to use. Do you have to spell it out for people because the name isn't spelled like it sounds? In particular, names using "ph" (instead of f) or "y" (instead of i) in the name might be problem areas. Similarly, a name like Flickr or Zoomr or any other name where "er" has been replaced with "r" will have to be spelled out, at least until it's become so popular that everyone knows how it's spelled.
Also, while you can use dashes in your domain name, you probably shouldn't, unless you're prepared to register both the dashed and un-dashed versions. (I registered both dot-o-mator.com and dotomator.com for this site.)
4. Search for your prospective name on Google.
If you want to make it easy for people to find your site, then choose a name that has few existing matches in Google... the fewer the better. That way when people search for your site, yours will come up first in the search results. Whereas if there are already 2.3 million matches for the name you want to use, it's going to be very difficult for people to find you via search.
5. Use a distinctive name.
Your domain name should be memorable. "37 Signals" is more memorable than something like "Web Tech Systems". A popular trend among dotcom companies is to combine words (or partial words) into a new, made-up name (Flickr, YouTube, Feedburner). Start with a word that has some relevance to your company's product or service, then try adding on endings and see what comes up.
Some words (such as "web", "tech", "net", "systems", "technologies") sound a bit tired, and are likely unavailable anyway. Try choosing fresher-sounding words. Thesaurus.com is a good place to search for words that have similar meanings. You can use Dot-o-mator to combine words into a list of potential domain names, then check them all at once to see if any are still available.
6. Avoid trademarks
Try to avoid using names that include well-known trademarks. For example, if you register a domain name with "Amazon" somewhere in the name, you'll soon be receiving an email from Amazon.com's legal department asking you to surrender the name.
So save your money and choose a more unique (and trademark-free) name.
7. Should you buy an existing name?
What if the domain name you really want is taken? The cheapest solution is to choose something else. But if you have your heart set on a particular name, you can try buying it from the current owner. There's no guarantee you'll be able to acquire the domain, and even if the owner is willing to sell, it could cost you anywhere from a few hundred to many thousands of dollars.
If you still want to try, here's how to proceed. First visit the domain name in your browser and see if anything is there. If the owner is looking to sell the domain, it might already have a link to where you can make an offer.
There are also sites like Sedo.com that offer domain names for sale. You can browse through their inventory of existing names, or make an offer on any domain:
You can also view the whois results for an existing domain. Look for the owner's email address, and try contacting them directly.
8. Keeping your name
Once you've found a domain name, you'll have to register it with a domain registrar of your choice. (I prefer Dotster, as they're reasonably priced and have good customer service.) Be sure to provide a valid e-mail address when you register the domain; your registrar will e-mail you when your domain is about to expire and remind you to renew. If you're using a spam filter, be sure to allow mail from your registrar to pass through. If you change e-mail addresses, be sure to update it with your registrar as well. I've seen plenty of cases where someone moved and never got the renewal reminder mail, so their domain expired. Renewing an expired domain is costly (there's a $99 fee for that now).
If your domain expires and you don't notice it until a month or two later, your domain might already be owned by someone else. (Expired domains go back into the pool of available domain names after a ~40 day redemption period). Reacquiring your domain at that point could be extremely expensive, if not impossible... so remember to keep your domain registrations (and contact information) current.
9. Domain Spam and Private Registrations
Unfortunately, when you register a domain, your e-mail address will be visible to the world via the whois data. This can result in a lot of unwanted spam. Most domain registrars offer something called "whois privacy" or "private registrations" (usually for a small additional fee); this service will obscure your e-mail address in whois results, but still keep your e-mail linked to your domain in your registrar's database (so they can still send you renewal reminders). If you're concerned about spam and/or don't have a good spam filter, you may want to use the privacy option.