Domains are nonmaterial goods. When sold, the only transaction taking place is transfer of domain rights from one user to another. Barring any form of copyright or trademark violation, virtually any domain name can be bought or sold. Generic domain names, such as car.com or computer.com, are not legally protected and can therefore theoretically be reserved by anyone.
For the most part, you can pick whichever TLD you prefer, though a few have restrictions -- you can't buy a .edu domain unless you run an accredited post-secondary school. Many, but not all, country-specific domains (.us, .uk, .jp) are restricted to citizens of the country in question. Unrestricted country domains are often used for "domain hacks," where the extension becomes part of the title, such as YouTube's alternate address, "youtu.be."
Who doesn’t love a sale? The .SALE domain is great for a variety of businesses who want to help website visitors save big. eCommerce sites can reach more customers with this domain or it can appeal to websites that offer advice on money-saving opportunities and tips. Retail stores can also highlight a major sales event by creating a subdomain that is especially relevant to the event.
Sedo is where I bought my domain - over Escrow - and is a global marketplace to buy, sell, and park domain names. They've over 18 million domain names for sale, but the big part is that they're a huge, well-respected company. This may not be important if you're spending $150 on a domain, but in a $15,000+ purchase - which happens in many cases - you will be potentially buying from a foreign entity, that you don't know, and many of them will suggest an escrow payment. This means you put the money in an account owned by a third party that will hold it and only pass it on once the domain has been transferred over into their name (which in this case is what Sedo does). This can be quite disconcerting - but Sedo is well-known and has done many, many deals - and the process is about as full of hand-holding as handing tens or hundreds of thousands of dollars for a domain name can be.
The longer your domain name is, the harder it is for people to remember it and the more chance you have of someone misspelling one of the words. Most good single word domain names are long gone, but you can still avoid long domain names by getting a little creative. If you have a single word you really like that is not available, try adding an adjective or verb in front of it and seeing if those variations are available. Think of your domain name as part of your brand, and make sure it matches how you want people to think of you.
In order to register any domain, you must provide certain personal information that you may not wish to be publically searchable in the Whois database. Signing up for WhoisGuard is a great way to keep your registration data private. WhoisGuard acts as a "shield" for your searchable information, displaying the address, phone number, and email of the domain registrar (Namecheap, e.g.) instead of your own. Keep in mind that WhoisGuard is an optional security add-on that must be renewed separately when you renew your domain.