The criteria you use to pick a good domain name depends on how you want your domain name to work for you. For instance, if your focus is going to be on using the domain name to tell search engines about the nature of your web site, then you will most likely take a different approach than if you were choosing a domain name that is easily memorable. My personal preference is to integrate the two approaches as much as possible.
Picking a Good Domain Name for Search Engines
Search engines have gotten much smarter over the years, but they are still fairly limited when it comes to finding information in a domain name. However, there are certain techniques you can use to improve a search engine's ability to parse useful information out of your domain name.
Use Keywords In Your Domain Name
Using keywords in your domain name is a great first step when it comes to search engine optimization in general. For example, say you run an ecommerce web site that sells used books about web design. When people use a search engine to find your web site, they will be using keywords such as "used books" and "web design". These are the keywords you want in your domain name. The following domain names include the keywords you're looking for:
Use Separators Between Keywords in Your Domain Name
Search engines use automated programs to interpret, or "parse", the information on your web site. When they look for information in your domain name, they look for recognizable separators between keywords in order to determine what the keywords are. In a domain name like the one used above, for instance (www.usedwebdesignbooks.com), all of the keywords run together so the search engine doesn't know what the individual words are. They could be "us" and "sign" and "boo" for all the search engine knows. In the following example, however, the search engine can see an active separator between the keywords:
The best character to use to separate these words is a dash, most likely because dashes are used to separate words like "high-flying", so a search engine will interpret the dash as a space.
Picking a Good Domain Name for People
When you're trying to pick a good domain name for people, the trick is finding a domain name that is memorable. Most of the simplest, easiest to remember domain names - like single words and 4-letter acronyms - have already been taken, so you will need to be a bit creative to find a domain name that people will remember.
Use a Short Domain Name
Most of the time, the shorter the domain name is, the easier it is to remember. This isn't always the case, but it's a good principle to work by. Lets use the used web design book store example here again. Some easily memorable names might be:
Another useful technique involves using outrageous or strange domain names, that don't necessarily have anything to do with the actual subject matter of the web site. These kinds of domain names work great on T-Shirts and hats.
As I mentioned earlier, I find that trying to find a domain name that is effective with search engines and is also easy to remember is the best route to take. This of course requires the most creativity and experimentation, but is the best technique to use in the long term.