I think people are (slowly) re-learning the importance of redundancy. Having multiple, competing implementations makes you far less vulnerable to shocks.
Using relational databases as a model for the structures in question, some form of redundancy (secondary and primary keys) is needed to avoid more redundancy (dublication). I actually don't know what I'm talking about, if it made sense to someone, please correct me where I'm wrong.
This is not really productive redundancy as for example the Navy and Air Force can't easily swap HR systems. This is mostly everyone being their own little snowflake.