I think there's a difference between using a piece of software (perahps with some inessential small changes) as a component in a larger system, and just striaght up forking it and then not contributing changes back.
The problem with companies who use MIT/BSD in the latter way is that they encourage the use of GPL-style licenses. I wish more people would use a license that allows the former but not the latter. That is, you're free to make small changes for iner-oping with your system and you're free to distribute that as a binary; but, you're not free to just fork the project and make huge improvements but then not share those improvements. Unfortunately, that style of license would be nearly impossible to write or enforce because the line is so subjective (e.g., I think some of the examples on the linked list could fall on either side of that line).
Concrete example: I personally believe that Apple should be allowed to build OS X on top of BSD, but should contribute back any significant changes that are improvements to BSD in general. The license doesn't require this, but I think it's the decent thing to do.