You need to first figure out what your hosting requirements and future projections are.
- How many concurrent users do you need to serve (as blekkzor said)? Now and projected?
- How many requests does each user make during a session?
- How much server and database processing do you expect per session?
- Are your users local? National? International? If international, what regions?
- Do you anticipate the need for specialized web performance and caching?
- Are you going to be streaming audio? Video?
Unless your application requires very specialized hosting, which is doesn't sound like, nowadays there is really no reason to think about doing your own hosting.
Once you have your set of requirements, just shop around. Web hosting has become commoditized, so you should be able to easily compare vendors apples-to-apples.
One bit of advice that I've found useful is to strike up a relationship with a web hosting provider local to you. Most metro areas have a selection of reputable providers with decent hosting packages. You're likely to get much better service if you've met the people who are providing your services than if you're just an account number at GoDaddy, and you may also find synergies.
Best of luck.