Healthy runners should always vary their running surfaces to work on improving their strength, balance, and to help avoid injury. Switch up your routes and do some trail running, some running on asphalt, some track runs, and even some running on sidewalks if you have to. If you're training for a race, do the majority of the runs on the same type of surface you’ll be running on. If you frequently run the same route, reverse the direction of it every other run. That will adjust for any slant in the road, so you'll be stressing both sides of your body equally.
If you're just recovering from a running injury and you're worried about a recurrence, your best bet would be to run on a rubberized track, which will offer a level surface as well as good shock absorption.
Most treadmills are padded, making them another good option if you're just back to running after an injury or you're injury-prone and want to reduce the impact. You can better simulate outdoor running by setting your treadmill at 1% incline.