1. It should flow off the tongue as easily as your brand name.
2. It should be short and to the point.
3. It should be easy to spell.
4. If there is a hyphen, it should be in a darn obvious place (and even then - be wary about using hyphens).
5. If it's not your exact brand name (i.e., marketingbreakthroughs.com) then it should be related to what you do (say, ottawamarketingfirms.ca or something).
6. If possible, it should only have letter - no numbers, hyphens, or anything else.
7. It should have the most competitive keyword (or two) that you plan to go after.
8. If you're a local business, then one of the keywords can be your location (i.e., ottawadesktoppublishing.com). That way you don't have to worry too much about plugging "Ottawa" into the copy everywhere (meta tags and your address in the footer should be enough).
9. Be careful - with no spaces between words, sometimes a new and embarrassing word or phrase is formed. (Think "Experts Exchange" in domain name form)
10. Adding modifiers (like your location or "blog") can help you get something memorable that would otherwise be picked over. "Weddings.ca" is probably taken, but "torontoweddingsblog.ca" might be available.
Domain Name Resources
Courtesy of Sweetmantra, here are a few resources for picking a domain name. Just looking at the resource list will give you a few ideas about selecting a good one. The link to rhymezone, for example is a good idea. I would, however, be wary of rhymes or wacky spellings. If a domain has a witty rhyme that makes the user think of another word, it may very well be the other word that they remember!