Your Java example is pretty clearly the exception rather than the rule. Apple treated Java worse than a red-headed stepchild for a very long time. I really think they must have had regularly scheduled meetings where they said "OK, what can we do to make our Java support even worse without ending up with people installing 3rd party JREs?"
In some ways it was a relief when Apple said they were dropping the JRE- by opening the way for Oracle and 3rd party JREs it made actually made it more likely, not less, that people would get reasonably up-to-date Java support.
Maybe one of the undisclosed conditions of Microsoft's life-saving investment in Apple back in the day was that Apple would backstab Sun on the Java issue.