Cain, 36, was hitting .179 in 145 at-bats while the Brewers' offense struggled throughout June. The veteran was 4-for-26 this month with no walks and seven strikeouts. As a team, the Brewers rank 14th in OPS in the National League in June while falling out of first place after a strong start.
Cain broke in with the Brewers in 2010, then spent the next seven seasons in Kansas City before returning to Milwaukee as a free agent in 2018. He's in the final season of a five-year, $80 million deal. The move comes on the same date that Cain reached 10 years of major league service.
"It just got to a point where it's probably time," Cain said in Cincinnati. "I haven't been performing like I would've liked, but the situation is what it is. I've had a great career. I can't really be upset about anything, but, yeah, it's time. I wish all my teammates the best, coaches, trainers, everybody that I've played with or met throughout my entire career, I wish them nothing but the best. It's been a really fun ride for me for sure."
Cain is a two-time All-Star and Gold Glove winner. He also finished in the top 10 in MVP voting twice in his career.
"No doubt, he did his part," Brewers manager Craig Counsell said. "At the end, it was time for this. It was just time."
Cain was replaced in the roster by journeyman outfielder Jonathan Davis, who was called up from Triple-A Nashville.
"I would say it was mutual to part ways," he said. "We have a really good team. I don't think I was contributing the way I would've liked. I feel like they definitely had to make a move. I definitely would've liked to play a lot better -- contribute to the team a little bit more -- but unfortunately, that wasn't the case this year.
"At the end of the day, it's been fun. I think that team can go really far. They're really well-coached, well-managed. Those guys play their hearts out. I'm definitely going to miss them. It's been a fun ride for sure."
The Associated Press contributed to this report.