It really depends on the project and your own context (or your customer's).
For some projects (eg: https://www.wisecashhq.com) I go DotCloud or Heroku, because I'm willing to pay in favor of focusing on features.
For some other projects (eg: http://www.hackerbooks.com) I use a VPS and Chef, because it's a low recurring cost and it's a smaller deal if the server is offline for a while.
Even if I go app hosting but the project works well, I take care to think about what it would need to redeploy it on a VPS instead (eg: create a staging server with Chef and a VPS).
One thing I will not host in all cases is email, because I feel it's really easy to do it wrong.
For some projects (eg: https://www.wisecashhq.com) I go DotCloud or Heroku, because I'm willing to pay in favor of focusing on features.
For some other projects (eg: http://www.hackerbooks.com) I use a VPS and Chef, because it's a low recurring cost and it's a smaller deal if the server is offline for a while.
Even if I go app hosting but the project works well, I take care to think about what it would need to redeploy it on a VPS instead (eg: create a staging server with Chef and a VPS).
One thing I will not host in all cases is email, because I feel it's really easy to do it wrong.