Registering the domain through the host always worries me. A few of them include language in their TOS that makes the domain name their property and you are simply "renting" it from them as part of the package. Transferring the domain from them can be a sticky widget.
That is good to point out, and I didn't do that when I recommended Byethost. They do, if you accept a free domain from them, retain ownership of that domain. ANHosting does not retain ownership of any domain you get for free with their package (free is a relative term, but whether one opts for a domain or not, the package is the same price).
I do make a point to check out the TOS of any webhost I am considering (not only with regard to the free domain, if they offer such, but with whether they allow adult content, hidden bandwidth restrictions, etc.).
Another thing to point out for anybody getting hosting for the first time and considering a free domain from the host (been there; never going there again) is that you had damn well make for certain that the domain for the account is the domain you most want hosted. You only get one cpanel (ZZHosting is an exception; there may be other rare exceptions) for your domain which means that any other domains you host will be as addon domains.
Addon domains, even though they are for all intent and purpose treated as domains, are hosted as sub-domains rather than the account's primary domain. Though this benefits the primary domain, and can benefit the addon domain, if you selected something like
sleazysexslavesdotwhatever as your free domain, you had damn well be comfortable with the fact that any addon domain you have will have a corresponding sub-domain of
youraddondomainname.sleazysexslavesdotwhatever. Whatever the content of your primary domain may be will in some way be associated with your addon domain, for good or bad.
Okay; I'm finished boring everybody.