I use Bluehost, and I'm satisfied with it.
http://www.bluehost.com/
The only thing I don't like is their DNS control panel, which sucks.
I use freedns, which works better.
$7 a month:
200GB disk space
2000GB transfer/month
50 mysql and postgresql databases
ssh access (which is pretty slow by the way)
php 4 or 5, can be configured by the user (you have your own php.ini)
1000 mailboxes
and loads of other stuff I never use ... check the site for a list