You want to keep your domains and site hosting separate, and keep site back-ups.
A few years ago a large registrar/webhost went under. The registration agencies were quite quick in re-assigning the domain database to other domain hosts.
People with domains at the defunct registrar who were hosting their sites elsewhere were able to redirect the domain servers and carry on with a minimum of fuss.
People with back-up data were able to get going again on new hosting, almost as rapidly.
People who had built their sites using the online site builder and didn't have backups were in a real mess.
If you have sites on the same hosting account, any links between them are likely to be discounted by the search engines - so you need separate site hosting if you want to link between your own sites. Even free hosting can give enough separation for that purpose - better than keeping everything together.
So when you're looking for a domain host, your first thought should be "do they have good DNS management?" Can you point your domains easily at your hosting, can you do redirects with minimum hassle (I'm not explaining that one, but you want AT LEAST the ability to do 301 and masked redirects from the domain control panel).
When you've covered those points, look for a site host or two - you want affordable, cheap and reliable.
You do not want one of those accounts where the domain cannot be pointed elsewhere or transferred to another registrar, like you get with a lot of (usually, German-owned) companies. You can't argue with those people - one domain, one hosting account, one price, no flexibility, no transfer out.
"That is not the way we work - you signed up to the way we do things - you don't like it, you can surrender everything and go away if you give us 3 months notice - otherwise we charge you for next year as well".
Once you get over those points of research, that's the point when you want to look at email facilities. I'd recommend 5quidhost if email is a priority ...