Different Ways for Building Mobile Apps
One of the arguments against building downloadable, native apps for mobile devices -- as opposed to browser-based web apps -- is that you sacrifice portability. Since you use platform-specific APIs, the argument goes, you will need to develop your app separately for each of the platforms you want to support.
Now that is obviously not a very scalable model especially if you have to support end users with different types of mobile phones and tablets. Many organizations are increasingly encouraging employees to "Bring Your Own Device (BYOD)" and so supporting all different types of devices that employees could potentially bring may not be trivial.
As an example, the open source framework PhoneGap (now acquired by Adobe and proposed to be part of Apache Software Foundation) allows you to create HTML5-based applications that can run on many mobile platforms. The difference between these HTML5-based cross-platform apps and regular web-apps is obviously that these can access native device functionality (like the camera) by using a "wrapper" that PhoneGap provides. There are other approaches as well, such as those that allow you to code your app once but then compile it for each of the specific platforms you want to support.
So if you do decide to offer downloadable apps to your employees or customers -- ideally in addition to a regular web app and not at the expense of it -- remember that building an app does not necessarily mean you will have to employ proprietary or platform-specific technologies. There are many ways to build apps and you should evaluate each of these approaches with respect to different factors such as functionality, cost, time to market, user experience, and performance.