Every line of every code could be rewritten 1000 times.
Every code of every engineer could be shared and reviewed.
If you ask me to write a code that detects your zipcode based off the IP. Who am I to argue with the man paying my bill? Yes, I could change jobs, but they'd at some point notice my turbulent job history. Then the individuals that call the shots would pass up my resume because that other engineer was more 'steady.'
All I want to do is study mathematics because that's the only real control I have. Not what I do at work, what I do after work. I'm not going to waste my time educating business unless they pay me to. That's what a job is.
Business justifies themselves because its all about getting one on your competitor. Don't point the finger at us.