Domain Names - Almost everything is taken

Last time I checked it felt like almost every English dictionary word was taken. When a customer comes, he will not be ready for a compromise. So how you satisfy the customer ?

How does one get a good domain in a world where thousands of domain names are being registered everyday?

1. It must be easy to remember (most important).
2. It must as closely describe the web site content as possible (This can really help you get good rankings on a search engine). Though there are exceptions to this rule ( being the most notable exception).
3. It must be as short as possible.
4. It must be easy to spell. (you don't want your visitors to misspell their way to other sites)
5. It must be sufficiently different from the names of other popular sites.
6. It must NOT be the name used by a famous brand or company.
7. Avoid hyphen/underscore in the domain name

Remember domain names like have fetched millions of dollars when they were sold by their original owners.