Below, I've listed 12 tips I find indispensable when helping people select a great domain name.
Brainstorm 5 Top Keywords
When you first begin your domain name search, it helps to have 5 terms or phrases in mind that best describe the domain you're seeking. Once you have this list, you can start to pair them or add prefixes & suffixes to create good domain ideas. For example, if you're launching a mortgage related domain, you might start with words like "mortage, finance, home equity, interest rate, house payment" then play around until you can find a good match.
Make the Domain Unique
Having your website confused with a popular site already owned by someone else is a recipe for disaster. Thus, I never choose domains that are simply the plural, hyphenated or misspelled version of an already established domain. I still believe that Flickr desperately needs to buy Flicker.com - I hear kids in their 20's tell parents in their 40's and 50's to see photos on Flickr and always envision that traffic going straight to the wrong domain.
Only Choose Dot-Com Available Domains
If you're not concerned with type-in traffic, branding or name recognition, you don't need to worry about this one. However, if you're at all serious about building a successful website over the long-term, you should be worried about all of these elements, and while directing traffic to a .net or .org (as SEOmoz does) is fine, owning and 301'ing the .com is critical. With the exception of the very tech-savvy, most people who use the web still make the automatic assumption that .com is all that's out there - don't make the mistake of locking out or losing traffic to these folks.
Make it Easy to Type
If a domain name requires considerable attention to type correctly, due to spelling, length or the use of un-memorable words or sounds, you've lost a good portion of your branding and marketing value. I've even heard usability folks toute the value of having the letters include easy-to-type letters (which I interpret as avoiding "q," "z," "x," "c," and "p").
Make it Easy to Remember
Remember that word-of-mouth and SERPs dominance marketing (where your domain consistently comes up for industry-related searches) both rely on the ease with which the domain can be called to mind. You don't want to be the company with the terrific website that no one can ever remember to tell their friends about because they can't remember the domain name.
Keep the Name as Short as Possible
Short names are easy to type and easy to remember (the previous two rules). They also allow for more characters in the URL in the SERPs and a better fit on business cards and other offline media.
Create and Fulfill Expectations
When someone hears about your domain name for the first time, they should be able to instantly and accurately guess at the type of content that might be found there. That's why I love domain names like Hotmail.com, CareerBuilder.com, AutoTrader.com and WebMD.com. Domains like Monster.com, Amazon.com and Zillow.com (whom I usually praise) required far more branding because of their un-intuitive names.
Avoid Copyright Infringement
This is a mistake that isn't made too often, but can kill a great domain and a great company when it does. To be sure you're not infringing on anyone's copyright with your site's name, visitcopyright.gov and search before you buy.
Set Yourself Apart with a Brand
Using a unique moniker is a great way to build additional value with your domain name. A "brand" is more than just a combination of words, which is why names like mortgageforyourhome.com or shoesandboots.com aren't as compelling as branded names like bankrate.com or lendingtree.com. SEOmoz itself is a good example - "SEO" does a good job of explaining the industry we're in and creating expectations, while "moz" gives a web association, and an association with being free, open, and community-driven.
Reject Hyphens and Numbers
Both hyphens and numbers make it hard to give your domain name verbally and falls down on being easy to remember or type. I'd suggest not using spelled-out or roman numerals in domains, as both can be confusing and mistaken for the other.
Don't Follow the Latest Trends
Website names that rely on odd mis-spellings (like many Web 2.0 style sites), multiple hyphens (like the SEO-optimized domains of the early 2000's), or uninspiring short adjectives (like "top...x," "best...x," "hot...x") aren't always the best choice. This isn't a hard and fast rule, but in the world of naming conventions in general, if everyone else is doing it, that doesn't mean it's a surefire strategy. Just look at all the people who named their businesses "AAA... x" over the last 50 years to be first in the phone book; how many Fortune 2000's are named "AAA company?"
Use an Ajax Domain Selection Tool
Websites like AJAXWhois and Domjax make it exceptionally easy to determine availability of a domain name - just remember that you don't have to buy through these services. You can find a name you like that's available, then go to your registrar of choice.
Screenshot of Domjax (and an unregistered domain that fulfills many of these criteria)
Any other suggestions you'd offer for selecting domain names in an era when so few good ones are available?