Ha yeah, its a bad thing to ever do (although we all do it)! It means you missed an opportunity to extract a common function, and thus make the code simpler, more readable and more robust. And as it is normally done when the programmer is being lazy or doesn't really understand the code, it tends to introduce errors because they don't bother to check properly that they updated the pasted code, or they don't understand what updates are actually required for that code to work correctly in the new context. Converting the code into a function you can call in both places is almost always a better idea, as it forces you to understand what the code does, and it improves the robustness and re-usability.