Microsoft's late start with Windows Phone makes it a dark horse in the mobile market. Apple, Google, and RIM have already managed to take huge existing market share, with millions of customers currently using their products. That attracts the attention of developers who want to reach those millions of users through app stores. Microsoft needs something that will turn developer attention to the Windows Phone platform, despite the fact that there aren't currently a lot of users to buy whatever is created. It's a classic chicken-and-egg problem.
If there's one thing Microsoft sees as a strength, it's developer relations (To quote CEO Steve Ballmer: "Developers, developers, developers, developers!"). To their credit, the company has created a set of developer tools for Windows Phone that seems to be very well designed. Those tools take advantage of technologies that many Microsoft shops will already have and know how to use, such as Visual Studio, Silverlight, and the .NET Framework. So although Windows Phone is relatively new, it's not a miserable learning curve for someone already familiar with the Microsoft world.
Yet most current mobile developers aren't necessarily familiar with the Microsoft world, and that's another problem for Microsoft. Each platform has its own unique set of tools for developing native applications, which means developers have to learn a new set of tools for each platform they want to target. That is a huge startup cost. If you're a developer looking at the current mobile landscape, Windows Phone is way down the list of platforms you might target for native app development given its meager market share.
Not everyone agrees that Web apps are the way to go. Some feel native apps are superior because they can take better advantage of all the performance or features of the platform. And, of course, a native app will generally look and act more consistent with the platform it is on compared to a Web app that is trying to split the difference between several different platforms with slightly different user interfaces. Often, however, mobile apps are simple enough that the platform differences don't matter.
The other major complaint about a Web app in a browser page is that users have to launch their browser to get to it. It doesn't feel natural to users who are accustomed to starting an app by tapping its icon on their home page. Plus, there is no reason to show the address/url bar at any time for a Web app, and that can be an issue with mobile screen space at a premium. Finally, there are things a browser will not let a plain old Web page do for security reasons, such as get access to the phone's camera or GPS readings.