I won't tell you hot to get cheap hosting because you can use google to find $1/mo hosts. However I tell you how to get the best bang for the buck:
1. Go and buy a $5 to $9 VPS with minimum 512MB RAM.
2. Setup a LEMP stack:
- Linux 32bit (do not use 64bit because consumes more RAM). Personally I like to use the Debian 6 minimal 32bit (netinstal) image. If you can't use the minimal image then uninstal all software you don't need that comes preinstalled (e.g. Apache)
- NginX - use this instead of apache. Works a billion times better especially on such a low specs server.
- MySQL
- PHP with APC extension
You can also install other software you might need like a mail server or whatever.
3. Go to VPSBible site and use their guides and other guides you find to setup your server.
4. Search for some NginX and MySQL optimization guides or ready made .conf files.
A server setup like this can handle in excess of 18000 request per hour (5-7 req/sec) to wordpress blogs that don't use caching or in excess of 3.6 million req/hour (1000 req/sec) for static pages (including cached wordpress pages). All this with just 512MB RAM and the requests will not consume excess RAM as with Apache. If you're running your own custom coded CMS that doesnt waste up memory like wordpress, drupal, joomla or other CMS' do, then you can handle in excess of 100 requests/second without caching.
It does required quite a bit of skill to setup, optimize and secure the server but the value per dollar that you get is unparalleled.