I can certainly appreciate the need to ship products and provide value to your customers, but often this is at odds with doing quality work. Sometimes that quality is never, ever seen by the customer. All they see is a shiny interface and it does what it is expected to do. But peel back the facade and look at the inner workings of the software and it is just plain ugly. In my experience this is often the case because of a rushed schedule or poor technical design--and in many cases a combination of the two. But these two problems share a common issue: 'Just get it working.'
This attitude is very, very dangerous. You may get away with passing all the functional tests and you may provide value. But for the follow up changes that are made, you exponentially increase the complexity and chance of messing something up. Because the follow-on projects will invariable have the same approach, making even the smallest changes to the code become drawn out and costly affairs. This is a terrible way to develop software.
The balancing act is very precarious: developers need good requirement from their business partners, as well as an understood vision of the product itself. On the other hand, developers need to be skillful in their craft to interpret those requirements and vision to create a solution that solves the business problem at hand in a timely manner. It takes great effort and execution from both sides.
But any time those words 'just get it working' are uttered ought to be a tell that something is very seriously wrong.