depends what you want to do. There's a degree of you get what you pay for
One of my servers costs me £700 a month

but that one is a real monster though
got others that cost a fraction of that and do everything that is asked of them
domain names are the easy bit, almost. watch the small print though. A lot of places you can buy cheap domain names, lock you in so you have to buy their hosting, or charge you transfer fees if you want it hosted elsewhere
free host servers are rarely that. you might find they force a frame on your site with advertising you don't want, or force popups on your site with ads
a lot of the free hosting that comes with a domain has limitations that you will hit against fairly quickly. again small print for how much bandwidth allowance you get. plus you might find limits over email serving, add-ons, storage and so on
so, the questions you need to answer first are, do you want a fully featured email
[email protected]. how much bandwidth will you use and what are the charges per Mb if you go over. what is going to be on the site you intend to build? how secure you want it to be etc
anything that needs cgi-scripts, databases, dynamic content, SSL etc - you'll not find any of that on free hosting
its also useful to know what the server spec is, what's it location geographically, and what is its network connection
you might find something that promises loads of bells and whistle, but has a crappy shared data pipe so is dog slow