I think this depends very much on what you consider the intention of a justice system to be. If it is to strive towards balance between individuals, then you are correct. If a person causes suffering, then they should experience suffering themselves. Balance attained.
However, if the intention of a justice system is to reduce the total amount of injustice done in the world, then punishment is surprisingly ineffective.
Being a criminal does not _preclude_ a person from also being a victim. People who inflict violence have very, very often experienced a great deal of violence against themselves. In these cases, punishment is going to do far more harm than good in society. Harsh punishment, especially incarceration, makes pre-existing issues much worse. It creates recidivism, and increases the total amount of injustice over the long term. Compassion, support, empathy, education, and carefully guided opportunity to improve would, in many of these cases, improve that person's circumstance to a point where they no longer have cause to harm others. The original victims may not have received the recompense that they deserve, but the likelihood of more people experiencing pain at the criminal's hand in the future is reduced.
So it's not quite as simple as all one way or all the other. I think that is why the raw concept of 'retribution' is a less desirable idea these days than it has been in the past. It makes the demands of individual balance at the expense of community balance.
Don't get me wrong, I think that ignoring individual balance outright in favour of community balance is equally flawed. The trick is providing lots of options, so that someone like a judge can make the call as to where that balancing point should be and be confident that it is played out.