People will get to your website in four ways. They'll search for something and click on a search result, they'll see an online ad you're running and click on that, they'll click on a link somebody else puts on their web page, or they'll type your domain name into their browser. For the most part, we need to worry about our domain name being friendly to the last group.
You shouldn't rely on cute spelling. Fluffipuppiproducts.com is adorable, but everyone will type in fluffypuppyproducts.com. Don't do cute. Don't give yourself that sort of handicap. After hearing your website's name once, I should be able to type it into a browser and get your site. If you're enamored of a domain name that could be misspelled, buy all of the misspellings. If you don't, someone else will. Don't rely on dashes in the name. Fluffy-puppy-products.com isn't obvious.
Despite all of the options, you need a ".com" address. A ".us" or ".net" or ".biz" is "just as good" as a dot-com from a technical perspective. Unfortunately, everyone thinks that all websites end in ".com". As a result, the dot-com namespace has been depleted by close to two decades of people buying up all of the obviously good domains. Decent names are still out there, and you can find them, it just takes work.
The name of your website and the name of your business should be the same. Don't set up a website called "Ed's Cool Television Stands" on the domain name "amazingtvstands.com". This will hurt you in search rankings when people search for "Ed's Cool Television Stands".
Modern search engines use hundreds of factors to determine how various sites rank in the search results. One interesting tweak is that a direct match between search terms and the domain name will almost always rank you first. This is because a lot of people don't know how to use the address bar of their browser -- instead, they type the website they want into the search box of the search engine on their home page. If you can get a website name that could be a good search term for your website, do so.
This is one of two arguments I have against website names like "Meebo" or "Zillow" or "Zappos". The second is budget. If you had the budget to build a suitably large brand around a nonsense word, you wouldn't be listening to my advice.
Finally, your domain name should be as short as you can make it, but no shorter. "Bobsneckties.com" is better than "bobsfantasticneckties.com". "Fantasticneckties.com" is even better.
When researching possible domain names, you need to be careful. A fair number of sites that purport to help you find a domain name will actually rush out and buy the domain name before you get a chance. Yes, there are some scummy people on the internet. These are the tools I recommend.
One good tool is Instant Domain Search, which will (instantly) tell you if a domain name is available or not. It is a clever and useful site, and a good way to quickly figure out if your great idea for a site is available or not.
Another resource is Nxdom, which will help you find names that are pronouncable but nonsense. If you want a name like zillow or meebo, this is the tool to use. Play around with it a little bit and get a feel for the different options.
One of the most useful tools is actually impossibility. It will stick words before or after your word, finding available, useful, plain-English domain names. This service is fantastic.
A variation on impossibility is Name Toolkit. The quality of results isn't as good -- a lot of domains it claims are available aren't, but it is still worth a look.
If you want to ignore my advice about going with a dot-com domain, try out domai.nr. It attempts to find cute domains for you in all sorts of different top-level domains.
Once you've found a domain, what do you do to buy it? You go to Namecheap, my registrar of choice. A lot of folks use GoDaddy, but I trust Namecheap.