Another possibility is that companies think it would be easier to monetize apps than web pages.
If you take ads from a typical ad network and put them in a mobile web page, the page probably will look terrible, and a lot of people have ad blockers in their browsers anyway. (Mobile Firefox recommends AdBlock in its home screen.)
A lot of mobile apps, on the other hand, have ads that cannot be removed except by rooting your phone, and even then, many ads slip through. (I use Android with AdAway.)
Also, people are more used to paying $0.99 for apps than they are to paying for web pages.