Yeah that's true, a product can be successful with truly bad code, but it also makes developers lives miserable each time they need to add a new feature, solve a bug, or simply understand how that entangled mess works.
Management and sales may not appreciate good software design and good code, the next developer that has to work on system will.