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.