It seems to me that there is a third option: isolating. Some people we cannot cure, but should not be "punished". Even so, they need to be kept away from the general population for the sake of the population.
I personally think that using imprisonment as a sort of "punishment" is barbaric and has no place in a civilized society. It should only be used to rehabilitate or, barring that possibility, isolate. You have someone who just won't stop killing people and your psychologists are at a loss as to how to turn him into a safe productive member of society? By all means, keep him locked up and off the streets, but trying to frame this detainment as a "punishment" is how we start down a very dark road.