I think it's a lack of
ownership and
craftsmanship. You need that grumpy old master in charge smacking the apprentices on the back of the head when they don't live up to his standards.
I'm very lucky to have grown up and gotten most of my work experience in that kind of environment. I was expected to aim for perfection, and punished without fail if I didn't achieve it. No half-measures. Do it right, or don't do it at all.
There are people shipping code right now with 100 million to 1 billion users where they didn't even attempt to get it right. Knowingly, on purpose, they aimed to just barely pass the test. To meet the letter but not the spirit of the requirement. To build something that technically works, but not in practice. Make something that they wouldn't use themselves.
This doesn't matter to them. They make the little test suite indicator turn into a green check mark, then it's time to clock out and go home.
"Job done boss."
And the boss never checked that it was truly done either. He's got no standards himself that the work needs to meet.
The build system reports green, all is well in the world.
"Ship it!"