Just as a for instance, consider:
https://www.oxygen.com/martinis-murder/link-between-debra-ca...
So all across the US, in a very real way, there are times that the state puts innocent people in prison in exchange for lies told by guilty people. Worse, the state then allows those guilty people back out onto the streets to commit more crimes. This causes no end of problems in society. From crime, to the complete and total nonexistence of trust between certain communities and law enforcement. (Think about it, they know who are the good guys and who are the bad guys. So if you are letting a guilty bad guy send an innocent good guy to prison, they understandably intuit that there's likely an unflattering reason that you are doing that.)
For all these reasons, and more actually, the practice should be stopped.
Your post sets up a false dichotomy. You have essentially said, "We can't have a non-corrupt system. So we should have a system where the guilty are encouraged to lie and go free rather than a system where we have surveillance everywhere catching everyone all the time."
Here's the thing though, we can have a less corrupt system. A system free of both of those practices. That's a perfectly reasonable alternative. We can have prosecutors either prove their cases with actual data based evidence rather than tainted anecdotes, or not. That's what the adversarial system intended.
I'm not sure what sort of behavior you're referring to here. Snitching? Authorities should always reward snitching (unless it's snitching on the authorities.)
edit: probably the concept of a don being rewarded for snitching on his capos? I wholeheartedly support this. It prevents Eichmanns from giving up their agency. If you're a capo, you had better fully trust in the loyalty of your don, because a good law isn't going to enforce your criminal contract. If it did, it's basically legitimizing the relationship between criminal co-conspirators.
Often authorities have not way of knowing if the tale told is true.