They actually DO need to be able to scale servers up and down based on demand-usage, time of day, growth patterns, etc.
For them, the extra EC2 cost is negated by being able to spin up an extra 400 instances in the evenings, and turn them back down after everyone goes to sleep.
Under the dedicated server model they'd ALWAYS need to have an extra 400 dedicateds to handle that peak load (and in fact would need to have far more to handle additional spikes, projected growth, etc.) Those dedicated servers would sit idle, costing them money most of the time.
This is the difference between 'web-scale' and your typical startup's usage pattern.
Cost wise, your best scenario is usually going to be dedicated or colo + EC2 or similar for overflow / peak.
If you do just dedicated hosting you need to leave enough spare capacity that you feel comfortable handling the spikes for whatever the worst case provisioning time your host has.
It's still cheaper than EC2.
But if you do dedicated + ability to spin up EC2 to take peaks, you can go much closer to the wire with your dedicated hardware, and increase the cost gap to EC2 massively. You don't need as much spare capacity to handle peaks any more. You don't need as much spare capacity to handle failover.
It's rare for it to pay off to spin up EC2 instances to handle inter-day "normal" load changes, though - most sites don't have differences that are pronounced enough over short enough intervals for it to be worth it. If you do the dedicated + EC2 model, your EC2 instances needs to be up no more than 6-8 hours or so on average per day before it becomes cheaper to buy more dedicated capacity.