There are two ways to use a domain name - either you register a domain name at a registrar and forward it to an existing homepage (perhaps one you have put up on the server of your Internet Service Provider) or you buy a domain name along with the purchase of web hosting (many web hosts offer free domain names along with web hosting). In the latter case you won't have the problem with search engines listing both the domain name and the address to the actual host (this could confuse visitors). With a domain name you will also give a more serious impression if you own a company.
What about hyphens? These days when most .com names already seem to be taken, you can use dashes to get your own, unique name. However, there are rumors out there saying that search engines have a habit of giving lower listings to domain names with more than two hyphens.
If you're putting up an affiliate site with most visitors coming from the search engines, don't think too much about getting a witty domain name. It's much more important to include the key words through which you want to be found on search engines.