There are many web hosting companies that offer cheap domain names and few web hosting companies even offer domain names for Free if you are buying a web hosting plan from them.
If a web hosting company is offering Free domain name with a web hosting plan that means they have already added the price for domain name in their web hosting plan charges. So basically you are paying for the domain name and is not free. Also these type of hosting plans come with lot of conditions.
If a web hosting company is offering the cheapest price in the market that means that promo price is only for the first year and the renewal price will be quite higher than the regular price.
We @ 1 Host Web advice you to check the regular price and also renewal price and not waste money looking at promotions or the term Free.