Every time we touch a dataset we are told "in this case x means y else x means z only if x = 999 or else z means -z if.....". Or in plain english a pink cat is a dog unless its not alive (as indicated by its age) then its a toy and its age is -999.
I was told by one progammer the reason for such convolutions in data and he does have his point. "I write the smallest, easiest to maintain most efficient to run code..... I am not writing extra code to make sure the data is clean and meaningful" (I paraphrased).
I am often asked usually by programmers - What is Data Warehousing & how do I learn it? I explain to them we use all the same tools that you do but differently. That’s when I coined the term Data Sense. It describes the essence of Data Warehousing and separates Data Warehousing from rest of Programming. Every aspect of IT from Hardware / Software infrastructure to Design, Development and QA is done with massive data flows and need for data precession accuracy and meaning.