First and foremost, teams rarely give away talent just to give away talent. They like to keep depth. They're in a competitive business. Not a charity. I know there are a few other examples, but the Cardinals didn't move Carson Kelly to get him playing time -- they moved him to get Goldschmidt. So, the purpose of keeping Andrew Knizner is the same as it is for keeping Johan Oviedo or Daniel Ponce de Leon. Teams keep talent.
Also, Knizner is the best hitter currently of that group. He's MLB ready as a hitter, and really MLB ready as a catcher too.
Has someone said he won't be the backup in the majors to Molina?
The Cardinals are certainly moving in that direction with their comments and their actions. They've talked about him being Molina's backup in 2021, and even have gone so far to say that they need to have a "succession plan" in place to get Knizner guaranteed playing time in the majors this season.
The addition of Sanchez and Heineman is twofold. They have experience in the majors and they can compete with Knizner for the job. Sanchez is a strong defensive catcher who has options and is on the 40-man roster and can shuttle between Memphis and the Cardinals when the Cardinals want Knizner to get a stretch of guaranteed playing time at Class AAA, if they choose to go that route. Also, the Cardinals do need two catchers at Class AAA. They started the offseason with no one there, and now have two in that role -- both of whom have caught at high levels and can help pitchers.
Ivan Herrera is set to head to Class AA, at the moment, and maybe finish the year in Class AAA. If Molina retires at the end of the season, here comes the Herrera/Knizner combo -- which is why you keep Knizner, too. And if Molina re-signs after a strong season, then look for the Herrera/Knizner combo in 2022 before Knizner gets a chance to move on to another team of his choice at some point. McCann made quite a lot of money coming out of a backup position ...