I haven't used shared hosting for quite a while, but for a few sites I've worked on recently an account on a shared host seemed the best choice in terms of how much disk space and bandwidth they'd get for a very small cost.
One obvious problem with shared hosting though is the lack of control; I was careful to choose a package which provided up-to-date versions of apache, php and mysql but subversion was not installed, and the version of vim on the server didn't have support for some basic things like syntax highlighting.