Speak for yourself, matey boy :-)
Those things you describe? They aren't my code.
Since I know requirements will change (and clients will always want more), I write code that is open and extensible so future changes can be incorporated with the minimum of disruption and without breaking anything.
I've worked with the most atrocious legacy code on sites pulling in a million quid a day ... I still didn't write bad code. I refactored and built new structures.
So no, you don't have to write bad code, ever.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.