With the exception of a track event, most everything else will have hills. I've heard hill repeats referred to as "speed work in disguise".
What they have in common is rather than the steady-state output you can build up on the flats, you need the ability to generate a lot more output, and then recover quickly back to your steady-state maintainable race place.
Runners will talk about "cresting", which is that once you get to the top of a hill, rather than slow down and recover, you rapidly resume your faster steady-state race pace.
It's all interval training (a.k.a. fartlek), and deals with the fact that real world running requires shifting power outputs and rapid recovery.
Not directly answering your question, but another reason to have "fast" days (not necessarily sprinting and shorter distances/time) is simply to learn what a race pace is.
If you are running long-slower a lot, you won't get a lot of experience at your race pace. Boiled down, I think these are the main components of training for a distance runner:
- Distance / time. Being able to run farther (in distance) and longer (in time) than your race.
- Speed. Being able to run your race at the fastest pace you can sustain.
- Intervals. Being able to modify output quickly and more importantly to recover quickly from increased output.
You're right though. Running fast is hard on the body, although as any sprinter can attest to, you will get used to it.