Running shoes don't last forever. In fact for anyone doing long distance running, they won't last even one year
I use the ASICS Kayanos, which last me around 500-700km. Some people get more out of them, and now that I'm lighter they may last me a bit longer.
A good running shoe absorbs the impact of your foot hitting the ground. To do this, it compresses, then before your foot hits the ground again it returns to its original shape.
Take a look at these two shoes:
On the left is an old shoe. It's actually one I haven't run on in a long time, I use them for mowing lawn... so it's a rather extreme example!
On the right is a newer shoe.
In the circled area you can see wrinkles in the foam of the old shoe, where the new shoe is nice and smooth.
Why is it wrinkled? Because it's compressed - it can't return back to its form, to absorb any shock. The new shoe feels springy, it almost bounces of the ground when you push off. The old shoe feels dead, there's no bounce.
Visual inspection is one way to see when your shoes need changing, but far more important is how your shoes feel. They may feel like they're losing their bounce, or minor pains might start up that weren't there before. But it's sometimes hard to tell, as the change can be very gradual and you just get used to the lack of bounce.
I get around this by having two pairs on the go at once. I'll use the older pair for most of my runs, but every so often will use the new pair (my "race-ready" pair) to compare the feel. When the old ones stop feeling roughly as good as the newer ones, they become weekend shoes, or worse - lawn-mowing shoes (where shoes go to die).
And you thought running was cheap...