Many web hosting providers nowadays offer you a free domain for a term sign-up longer than one year. So the question is Should you accept it? It’s indeed free, so you can save at least $8 to $10 a year, depending on where you buy a domain otherwise. But the answer is that you shouldn’t accept a free domain. Why not accepting it if it’s free? Simply, you will be better off not accepting it in the long run. An analogy is this. Let’s say that you get $10 worth of credit at an online gamble site. Why would they give you such offer? They would because you would be hooked to gambling and end up spending more than $10. Likewise, if you get a free domain, you are most likely renew your term contract with the current web hosting provider.
The opportunity cost of not renewing the term contract after accepting a free domain is quite large. Think about repeating the same task of submitting your web site to several search engines. It will take months to recover the same amount of traffic if you switch to a different domain.
In the end, you will be better off acquiring a domain name on your own. In so doing, the cost of switching from one web hosting provider to another will be minimal. You will be even able to use old e-mail addresses with a new web hosting provider if you maintain the same domain.