Fixing existing code after it's already in the code base is a losing battle (particularly since it usually has to be re-tested), and you'll get pulled off onto "more important work".
And it's not a kludge, it's a very good way of improving code quality (possibly up to the union of your better programmers' skills) and preventing dodgy crap from seeing the light of day.
> Anything that prevents me from doing my job (shipping code) is going to cost the company money.
I think you meant "working code" there - where "working" means "solves business problems" as wells as "not buggy" ;)