Allow me to add details:I work at an institutional place with many coders, testers, QA analysts, product owners, etc. and here is something that bugs me:We have been able to sell crappy (albeit pretty functional) software for over a decade. It has many features and the product is competitive, but there are a some serious bugs out there, as well as thousands of paper cuts - little annoyances that clients need to get used to.It pains me to look at some of the things because I firmly believe that if computers do not help to make our lives easier, then we should not use them. I have confidence in my colleagues - they are smart, able, and can improve things when the focus is on doing that.But, it can be difficult to file bugs against some old functionality without seeing them closed or forgotten. It worked like that for eons is a typical answer. Also, when QA does regression, they tend to look for anything that is different as much as anything that does not seem right. So, a fix to an old problem can be written up as a bug, because it has been like that before even my time. The young coder in me thinks: rewrite this freaking thing! As someone who had the opportunity to be close to sales, clients, I want to give a benefit of a doubt to this approach.I am interested in your opinion/experience as well. Please try to consider risk, cost-to-benefit, and other non-technical factors.
If the bug is 5+ years old, then is it a feature?
business;product features;usability
I feel your pain.But fixing something just because it is a bug is not a good enough reason.  You have to make sure your fix will not break any other code (not just yours but your clients code that uses your code). If you push out a fix and this breaks every customers system you will have some very disgruntled customers.There are lots of famous examples where new code was written to replace an old system. Where they had to explicitly add the functionality of a bug in the old system because users depended on that bug (Not going to name names but I am sure you can google it).Regression Tests are basically a test of what your customers expect to happen. Before removing a regression test make sure it will not hurt somebody (this is nearly imposable). If you can fix a bug AND this does not break the regression tests then it is a real fix.