Convenient, one stop deal. The host can set up the DNS at the registrar level for you, remind you when it's due for renewal, and you get one bill/invoice for both items. Some will even include the domain with a package deal.
They have control over your domain, usually in the form of having it under their name as admin (at least). They have the password for accessing the name record, and if they vanish, you get stuck with a hassle trying to free up the name. Some (less reputable) hosts will hold your domain 'hostage' if something in your arrangement falls through...
Me? I'd get the name myself...but I'd wind up paying a bit more than the host would (hypothetically speaking, since I have inexpensive reseller accounts at various registrars). You would then have the peace of mind that you are in control of your own destiny. Up to you and your comfort level with your host, though.