I think you have to be wary of hosts that offer 'unlimited' space or bandwidth, because obviously it's not possible for them to provide it.
I've been extremely satisfied with
dreamhost.com recently. Someone suggested it on here a while back (TonyC i think?). With a coupon code (which i don't remember at the moment) the total came to $25 a year and it came with a free doman name registration! The package came with 5 gigs of space but they recently quadrupled everyone's space and bandwidth for no apparent reason except to be nice, so now I have 20 gigs of free space and over 1000 gigs of bandwidth per month. Your available disk space and bandwidth also automatically increases by a small amount every week.
Plus, they don't have any annoying restrictions or limitations on what you can do. Shell access is standard -- you don't have to ask or pay extra for it.
Oh yeah, they also have the best support I've
ever experienced. They have active forums and a wiki with tons of info. They're custom web interface for adminstrating your account is also pretty awesome. It's way better than something like cpanel, in my opinion.