* SEO. Along with the fact that being too generic means you won't have access to good trademark protection, it also means that you'll never get anywhere in search results. A fantastic amount of people still type the name of what they're looking for into Google (instead of just <name>.com). So, if your bookstore is named "Books", you'll never be found. That's not a battle you likely need when first starting.
However, if you run a site that is going to depend on Google (search engines) for traffic, you also might want to think hard about including some terms people will search for into your domain. Search engines weigh domain names heavily, so it does help. You can overcome this by getting linked to early and often, but if you really need Google, you might want to think about this.
The flip side is that using a made up word will ensure you are the _only_ result in Google and don't have to fight for position. So, if you're planning on getting your traffic elsewhere, don't want to focus on SEO, and just want to ensure that you are at the top for your name, making up a word can be good.
* Spell-able. Making up names leads me into my second thought. If you make it up -- or even if you don't but it's not a commonly known word -- make sure it is spelled how it sounds. Think about Google. Correct spelling: Googol; but no one would've ever done that correctly.
Openomy was the perfect example of what not to do. No one has any idea how to pronounce this word correctly, let alone spell it. Links would get botched, people couldn't get to the site, every time I talked to someone about it they would ask "how do you pronounce it", etc.
3. Don't be afraid of prefixes/suffixes. With domain availability running thinner every day, you will have to be creative. This will probably mean some combination of splicing words together (NetFlix) or using prefixes/suffixes. Don't be afraid of this, just careful. Some suffixes I like are -ly, -ware, -ish, -ize, -er, -it.
4. Talk about it and sleep on it. The way I came up with my latest project name is by writing down all the words that I could think of which were either directly or indirectly related with the field, as well as all the prefixes and suffixes I could remember. Then I went to town coming up with combinations of these things until I found a few I liked. I took that short list to my partner and we decided on one. We preemptively bought the domain name, but we didn't necessarily settle on it. We kept using it as our "name", making sure that even a few days later we liked it. Sleeping on it and using it as if it were real, without being religious about it, helps ensure you actually like it.
Then I started asking a couple friends/family about it. (1) Did they like it, (2) could they spell it for me, (3) what did it mean to them? If you can pass these tests, and you're happy, you've probably found a decent name.