There is no right or wrong answer here, although there has been some research done that suggests having the keyword directly in the domain name does help with SE's.

But.....you can also have one domain name (as Charles so rightly pointed out) and have sub-domains working off the main domain.

e.g www.xyz.com - promoting Secret Affiliate Code = www.xyz.com/secret-affiliate-code.html

Just watch out in using too many "-" in the sub domain.

I have had success using both methods, so again there isn't a right or wrong answer.

Cheers
Chris