His knees had a lot to do with it. Granted, he's pretty old now but he doesn't get around very well. Being such a big guy playing that much CF took its toll. Maybe if they had left him at first he would have stayed healthy a little longer too.
Knee surgeries, treatments, rehab, etc. weren't nearly as advanced in his day. Modern medicine might have squeezed a few more productive years out of him. And of course he could have taken the Bonds/Clemens route and probably put up another 200 HR.
On a related note, for the low low price of $699 you can join Murph in a suite at Truist Park for a Braves game. My wife actually suggested this for a Christmas present for me as we're going to be in Atlanta for one of the games where it's available (Brewers series in mid June). If I hadn't gotten to meet him a couple of years ago I likely would have taken her up on it.