Constraints are set up so that any violation will be prevented by a database error. We should have the option to create a constraint which is not enforced by the database, but simply as a way to trim down picklist options, for usability purposes. I have no reason to strictly prevent choices from being selected, I only want to remove options which are irrelevant to the user so that we can reduce the complexity.
For instance, I may say that a set of choices on picklist B is only available if picklist A has selected a certain choice. If I then find that items already exist which violate this rule I don't want to be forced to change them. Also if later some values are copied in a way which would violate the constraint, I don't want to stop that action because of the violation.
From Cummins' standpoint we have no reason to display an error message as a result of most constraint violations, and much of our development has had to work around this limitation.