I feel one of the reasons so much software appears broken is exactly by leaving these decisions in the hands of programmers. This mostly happens because nobody else wants to make the decision either.<p>However, what constitutes a small bug vs a large one is very different for a programmer than for business.
'Just a spelling error in the signup form' may decide if someone becomes a customer.
While some rare edge case can take up weeks of reworking a solution, may have been covered just by a business decision not to support that case.<p>I'm still looking for a better way to deal with this as most QA testers aren't capable either to decide whether something is just a detail that everyone will gloss over or an important detail that makes all the difference for a customer.
Both often end up in the same large bin of 'some day' issues where developers cherry-pick what they feel like. (until a customer complains of course)