Rule 1: IT MUST BE MEMORABLE. No matter how clever or even short it is. If it's not memorable, it's not going to work. It's got to roll off the tongue effortlessly in order to be memorable. It doesn't even have to be short. Let's say your business name was California Advanced Technology. Something short would be Caladtech.com but that doesn't flow very well.
It flows well to me. Sounds like salad. Just with a "c".
Rule 2: It has to be related to your business. Let's say you manage to snag the domain table.com. It's short and memorable, but it doesn't fit with California Advanced Technology.
Why does it have to be related to your business? Why can't the name be: "www.m4e.com"?
Rule 3: It can't be a name too close to another well known brand. You couldn't use something that sounded like you were affiliated with Cal Tech.
Is this against the law? If not, it would increase your traffic if they type the other domain in wrong.
Rule 4: Know your purpose. Some of the rules above can be bent depending on the purpose of your site. If your site is almost always going to be reached through links, it probably doesn't have to be too memorable; but it shouldn't be cryptic either. In some cases, you can pick the site name first and then name the business; especially if the business is the site.
So let's say caladtech.com is taken. What then? My question implies how to go about thinking up creative ideas. I find it very difficult to come up with name ideas for anything. And all those domain generators don't really help.