Not so! MANY hosts offer ONE free domain with an account with them. Indeed, even WebHostingBuzz offers that.
Saying that, though, you must realize that you ARE paying for the domain name as its purchase price is embedded in the cost of your account. The hosts can buy domain names in volume and get a great bargain; that's passed along to you via your hosting account.
CAUTION: Unscrupulous hosts are buying those domain names IN THEIR OWN NAME and make it difficult (if not impossible) to relocate to a different hosting service. (Note: From my experience with WHB, I'm sure they're NOT one of those unscrupulous hosts.)
IMHO, domain names are cheap enough that you shouldn't have to worry about "free" domain names.