[1] http://en.wikipedia.org/wiki/United_States_v._Microsoft_Corp.
Restricting what developers can and cannot do on a platform allows Apple to give more guarantees and reliability in terms of performance and battery usage, as well as security and stability. Those are the primary reasons behind Apple's restrictions on the iOS platform.
You can render all the HTML you want, you just can't allow untrusted code to be executed.
(if you could, everyone would just do that to get dynamic behavior using javascript in their apps as a scripting language)
No, they must use WebKit:
"Apps that browse the web must use the iOS WebKit framework and WebKit Javascript"
Also, you can build a UI using web languages and render to native controls, all without using WebKit if you'd like.