Strava tells me "experts recommend" replacing shoes at 300-500 miles. I've got about 6 pair of the same running shoes that I rotate through. I can definitely say the cushioning wears down at some point, but haven't retired enough shoes to say for sure when. Over 500 miles for me, typically, though sometimes I notice a pair I haven't worn in awhile bugs me, then forget about it. Then they turn into gym shoes, or carwash shoes, or...
Every thousand miles or so. Which is to say three times a year because I walk/run about 10 miles a day, which I once thought was original behavior, but see Nikolai Tesla.
FWIW, I can generally start feeling a pair of shoes going off at about 300-400 miles. And I get more prone to injury after 500-600. At this point, they are visibly worn and the foam is often visibly squished. The uppers are nowhere near worn out. If it’s a pair I like aesthetically, I’ll wear the casually for a lot longer.