You seem to understand _many_ reasons why Apple would want to do this. Apple has every right to sell its stuff with whatever kind of license they want. Just as you (and I) have every right not to develop for them.
The thing is that, for now, Apple is selling something that _many_ people want to buy, and that _many_ people want to develop for. So they have the upper hand. Nothing illegal or crazy about it. Now certainly things can change in the future and they _might_ become more accommodating.
Complaining about probably helps a little. Not developing for it helps more. Not buying the hard helps a lot, but the developer community is _much_ smaller than the consumer community...
The thing is that, for now, Apple is selling something that _many_ people want to buy, and that _many_ people want to develop for. So they have the upper hand. Nothing illegal or crazy about it. Now certainly things can change in the future and they _might_ become more accommodating.
Complaining about probably helps a little. Not developing for it helps more. Not buying the hard helps a lot, but the developer community is _much_ smaller than the consumer community...