blogging website and probably in the future propel it as an affiliate marketing site
"affiliate marketing site" is a general term and can encompass blogs too, among other types of sites. Basically, if you create a blog and you put affiliate links on it you've just turned it into an "affiliate marketing site"
So, in this regard - since there's no difference between the two "different" types of sites and since you're a newbie - any decent shared hosting will do in the beginning. I mean, I assume that you won't have 1000s of visitors a day like clockwork for months, starting from day 1. If you know you're going to get so busy with your blog from day 1 I think you should go straight for a VPS instead of shared hosting, but expect to pay at least double or triple for VPS of what you'd normally pay for shared hosting...
what website hosting can you recommend for a beginner like me?
any decent shared hosting will do. Again, the only think you need to pay attention to is how much traffic you'll be getting constantly because if you get a lot of traffic the hoster might put restrictions on your account and your site will load slowly, give status errors to visitors, etc...
But if the traffic is not a concern you can choose any of these hosters:
- hostkoala
- hostinger
- blue host
- site ground
- A1 hosting
- host armada
- namecheap
- etc
Any / all of these hosters will probably screw you over at some point (most companies do this nowadays), but this usually doesn't happen during your first year or two, so you're probably safe in the beginning
And what's the pros and cons of these when it comes to price and overall function
I don't understand what you're asking here, but all I can say is that paid hosting is better than free hosting, so choose paid hosting all the time.
I can't give list of pros and cons as I don't understand what you'd want us to compare the hosting to, so clarify this and we might be able to help better