Because he is just barely a MLB level player. A roster has 26 players. On every team every year there are players who are between the 20th and 26th best players on a team who get optioned, traded, waived, etc for a variety of reasons. With 13 position players on each team, there are 390 in the league at any given time. I don't think anyone would argue that Jon was not among the 13 best for the Astros or 390 best in MLB last year. He is clearly MLB level. He just isn't regular starter MLB level. Because of 162 games, roster needs, and MLB rules those players don't play 10 years on the same team, or even 1 full season on the same team.
Several=One, the Mets this season. They're the only club that has ditched him and not brought him back (both Brewers and Astros have)
It's not about agreeing or not agreeing. It's a statistical fact. There are dozens of positions players throughout MLB, who are, statistically, worse than Jon Singleton.
He’s a lot cheaper than Walker and the production wouldn’t be that big a difference. Maybe Walker gets it going or maybe we get a Abreu rerun—which is what it’s looking like right now.
Singleton is pretty decent insurance if Walker gets injure or we need a situational pinch hitter against a right hander. He's a major league player even if it's slightly below average. He can hit right handers at an slightly above average level at .743 OPS last year, and he gives you good at bats in the sense that he doesn't swing at the first pitch he sees. I would rather give Dezenzo the reps during the season, but he he doesn't figure it out, John is a good person to have as a backup plan. Singleton won't complain sitting on the bench. I could see a situation where he is on the playoff roster for a particular series against a team that is right hand pitching heavy.