Browsers are totally allowed -- there are alternative browsers in the iOS App Store right now (I use Atomic).
What is not allowed is to download code and execute it, which makes it impossible to write your own JavaScript interpreter, and forces you to use UIWebView to render HTML. You can't even just use webkit on your own -- you have to use the one on the device (by using UIWebView).
FireFox would also not be able to have plugins for similar reasons.
Atomic is better than Safari because it allows User-agent switching, view source and some other nice features, all of which doesn't require them to interpret JavaScript with their own code.
My understanding is that the alternative browsers on iOS aren't really browsers- they're reskins of the iOS' webkit. You can't, for instance, plug in your own Javascript interpreter. Opera mini takes a different tack, doing much of the work on their servers and forwarding it to the client. But a full replacement for Safari, like a fork, Firefox, or Chrome, is not allowed.
I wish any browser on my iPhone would support text reflow. Webkit on Android does it. Opera does it. But you can't fix that without putting in a new rendering engine.
What is not allowed is to download code and execute it, which makes it impossible to write your own JavaScript interpreter, and forces you to use UIWebView to render HTML. You can't even just use webkit on your own -- you have to use the one on the device (by using UIWebView).
FireFox would also not be able to have plugins for similar reasons.
Atomic is better than Safari because it allows User-agent switching, view source and some other nice features, all of which doesn't require them to interpret JavaScript with their own code.