For many early-stage startups at launch, ease of development/ops is much more important to optimize for than uptime, and Heroku excels at that compared to dedicated hosting or VPS. If a quarter of the internet is already down because of an AWS outage, people will survive without being able to access your shiny new "AirBnb for Pets" startup. When you're successful, build out manual infrastructure, sure, but at initial launch it's often worth the tradeoff of potential downtime for the savings in manpower.
Naturally, if your startup is a backup service or something else where having as close to 100% uptime as possible is a truly key feature, then it's probably not in your best interests to rely on Heroku/AWS.
How much money are you willing to spend per nine? How many nines do you need? Do you replicate across 3 or more data-centers? What about across 3 or more continents using 3 or more providers?
If you're running a heart-transplant registry, you probably need 10 nines, if you're running a cat dating site, you probably need less. Sure everyone wants massive uptime, but few are willing (or even need) to take the steps needed.