This is a great question, especially because I feel it's really tricky to find a domain name that's available and effective these days.
To give you an answer though, I guess it depends on your target audience and how you intend to drive traffic to your site.
Marketable names
If you are going to rely on word of mouth, brand development and promotion, or marketing - then I'd recommend going for something catchy, memorable, and unique.
You'll want people to remember the name, or at least take an interest in it.
Names like Tumblr, Flickr, 4chan or imgur are examples that come to mind in this category.
Yes, the names might have some association with the product or niche they're focused around (for example imgur is a website where you can share images to social networks), but more than anything else they are memorable and unmistakable.
Search-engine friendly names
If you are going to rely on organic traffic from search engines like Google, you'll have to work out what you can feasibly rank for in the eyes of the big G.
This means studying your competition, picking keywords that people are likely to be searching for, and ones that represent the product or experience you are offering.
This method is also true if you intend to drive traffic to your site using an ad campaign, as you'll need to show a 'display URL' in any text ads and you'll want it to be relevant (you do have some leeway in what URL you show on an ad, but the domain name needs to be the same as the destination).
Very niche sites
If your product or website is likely to only interest a relatively small group of people, then maybe having a name that your niche can relate to might make your website seem more genuine and appealing.
For example, blackhatworld.com isn't a url that would mean very much to anyone outside the SEO community (unless they were literally looking for a black top hat or a smart looking fedora).
By speaking directly to your niche through your url, you can earn a little bit of trust and stand out amongst the crowd.