Good companies know how to invest into their products and make them world class. In my previous job, we used a wind turbine simulation package developed by 25 engineers and it was so great - they really cared and fixed things. It was $50k/seat/annual license but we were almost like 2 different teams under the same company.
"You scratch my back, I scratch yours".
There are also a lot of companies that have lock-ins and generally awful attitude towards their own products. This also exists in the open source world - there is a lot of awful open source code out there.
Not if it's SaaS.
Vendors of rented software have no economic incentive to develop new features, or even fix bugs, because they get subscription fees without needing to do any work.
For instance, companies that do design and/or A/V work have no real alternatives to paying Adobe monthly--regardless of how little work Adobe puts into Creative Suite--because it's an industry standard and there are no alternatives that offer friction-free interoperability.
Commercial software has an incentive to pump out new features to get more customers. Also, if someone is only working on something for a paycheck they may not be as thorough as someone working to solve their own problems, or satisfying their passions.
Commercial software has an advantage when it comes to documentation, and being user friendly because they're the things no one wants to do.