Think of a word. Do a Google search. Get mad when you find it. Repeat until you are so tired of doing this, then someone will throw out a suggestion. You're too tired to fight, so you go with it.
Another thing to mention is to make sure that whatever name you come up with is available as a domain. You can use http://www.whois.net/ to do a domain lookup to see if the domain is available or not. It is best to keep the name unique but fairly simple so the domain name can be easily remembered.
One other recommendation that I have is not to rush the process. Brainstorming is great, get a huge list of ideas and do some research on all of them. However, sometimes the best ideas will just spring into your head unexpectedly.
First, you need to make sure that no one else is using your brand/business name. A simple search on Google, and through your State Department of Revenue, and the U.S. Patent and Trademark sites will answer that for you easily enough.
Secondly, as others have said, make it memorable. If you are going to use a website to promote your business you'll want something to make it stand out from competitors.
This subject was actually discussed at the Microsoft Small Business Summit. If you're interested in watching the video of that discussion, I'll attach a link.
Don't overlook the bleeding obvious. What would you call a bloke who does CAD ?
If you are in detail, here is a comprehensive guide to product and company naming: http://www.igorinternational.com/process/naming-guide-product-company-names.php
Coming up with a good, unique name is hard. Even if you're locally focused, you're trying to extract something globally unique. We spent a lot of time googling potential names. Most of the good, descriptive names are taken; even in specialty markets.
It should be easier if your primary audience speaks something other than English.
This is the impetus behind the current trend of using invented words as company names; e.g. Nozbe.
In the end, we settled on Saltwater Satori. It's descriptive, has a certain panache due to its Buddhist connection, but only a few people immediately know what satori means. So, it's not perfect, but it will be good enough to build on.
Keep is short and simple, something catchy and also describes what the company is all about.
I am quoting Zag by Marty Neumeier here, page 85:
A name should be:And of course you want to grab the domain name to match!
1. Different than those of competitors
2. Brief - four syllables or less
3. Appropriate, but not so descriptive that it sounds generic
4. Easy to spell
5. Satisfying to pronounce
6. Suitable for "brandplay" (e.g. you can use the name as a verb, rather than a noun)
7. Legally defensible (i.e. it's unique and not too similar to the competition)