The 30-year-old, who first suffered the problem playing in the Six Nations last February, has been forced to hang up his boots following three operations that failed to cure the injury.
"I did not manage to bow out on my own terms, but it is something I have had to accept," Sky Sports News quotes Bennett as saying. "Rugby has given me a lot. I was lucky to play in three World Cups and be part of two Grand Slam campaigns and reach the milestone of 50 caps."
Bennett earned 51 caps for Wales.