We hosting is not expensive things but Some companies make it expensive for un-experienced and non technical people because they don't know about the exact prices offered by other companies with same features. Most cheapest companies I found in my country are following:
1) Godaddy (start with $4.99/month )
2) Hostgator (start with $5.10/month)
(Start with $2.99/month)
All companies offers different features and specifications along with different plans. You can choose your best and very affordable plan from any cheapest company as compare to expensive one.
But if you talk about Virtual private Servers, Dedicated Servers or about Cloud servers then I accept that web hosting is very expensive in this sense. Because these servers come with high resources of hardware and latest features of Operating Systems.