unlimited traffic is a complete waste of time even thinking about. If you ever come close to even using 100GB of bandwidth you're going to start reaching the limits of a shared hosting environments resources. It's much better to have hard limits because then at least you know what you can and can't do and you can easily understand if you're in a position where you may need to upgrade.
personally I think shared hosting is fine for a small blog or static website, but once you're getting into the realms of e-commerce, web applications and the like, it's not worth the risk and restrictions to save a few $. You can get excellent quality virtual and dedicated hosting very cheap now, the only issue is sys admin work and that's very easy. If you have a few hours to dedicate a month to your hosting I'd highly recommended skipping dealing with the bs associated with shared hosting and if you don't have a few hours a month then you must be making really good money and if that's the case you can hire someone to do it for you.
http://linode.com are my favourite, I have uh... 11 VMs with them, I think, 10 or 11. Linode are so great they'll open a ticket with me about downtime before I even notice a server is down. Also I use s3 for cdn, hosting images on a web server is dumb, although s3 is pretty pricey. I think I spend about $500 on hosting in an average month.
July s3 figures:
$0.125 per GB - first 1 TB / month of storage used 2.896 GB-Mo 0.36
$0.01 per 1,000 PUT, COPY, POST, or LIST requests 30,960 Requests 0.31
$0.01 per 10,000 GET and all other requests 19,751,069 Requests 19.75
$0.000 per GB - data transfer in per month 3.177 GB 0.00
$0.000 per GB - first 1 GB of data transferred out per month 1.000 GB 0.00
$0.120 per GB - up to 10 TB / month data transfer out 798.220 GB 95.79