What if we applied the unwritten rules of the office break room to our code?
Imagine, for a moment, the most disrespectful office worker of all time. He steals food from the office refrigerator. After greedily consuming every morsel, he leaves the dirty plates and discarded containers littered around the office. When confronted about his crude behavior, he explains that he "had to get some work done" and "didn't have time" to buy his own food or clean up his own mess.
This total disregard for the welfare of your coworkers would, at a minimum, gain you their contempt. Repeated often enough, it might even get you fired. And yet programmers around the world display this kind of behavior on a daily basis, creating a mess in something much more valuable than the company's break room...the company's source code.
When a software developer makes a mess in code to quickly complete accomplish a task, they're taking advantage of the rest of the team. Not only are they choosing a personal short term gain over creating durable value for the company, but they're also setting the expectation that this task can be completed in a shortened timeframe, which makes the responsible members of the team look bad.
Making a mess in code, and leaving it for others to clean up, is unprofessional. When it's done to advance your own interests this act borders on immoral. The only reason this crime is tolerated at all is that it does not occur out in the open for everyone to see.