> Commercial/enterprise software has always been this way
All software is this way. The only way something gets fixed is if someone decides it's a priority to fix it over all the other things they could be doing. Plenty of open source project have tons of issues. In both commercial and open source software they don't get fixed because the stack of things to do is larger than the amount of time there is to do them.
Also interesting would be to compare the qualities between them.
From my experience software has much much bigger probability of ending as eventually working, but not fixing the problem it was set out to do in the first place aka "building the right thing vs building it right". Which I guess is somewhat related to OP's dilemma.
All software is this way. The only way something gets fixed is if someone decides it's a priority to fix it over all the other things they could be doing. Plenty of open source project have tons of issues. In both commercial and open source software they don't get fixed because the stack of things to do is larger than the amount of time there is to do them.