This is a dilema that webmasters have faced more and more as there are fewer prime domains to choose from. There is a difference between the optimal domain name and the one you have to settle for. In general, if you are picking a domain for SEO purposes, it should contain the keywords you are targeting. Many will say because there is an extra bonus in the SERPs for this (File that under Theory, Assumption, or Speculation), but the true power is in the SEO power that your natural links will garner. When people link to you on their own, they may use the name of your website. Most of the times they will get it from your URL. If your keywords are there, they will then be in the anchor text used.
As far as the other factors of the domain, unless you are after a local market (ie. UK and therefore .co.uk), always go for the .com . This is trusted in general by newbies who may hesitate at a .net (Hard to believe but true)
The last important factor is the use of "-"'s. Avoid them if possible but if you have to, use them conservatively. More then 2 may be viewed as Spam so don't cross that threshold.
If you aren't choosing your domain for SEO reasons, pick something unique. After all, who heard of www.google.com 7 years ago?