One of the biggest headaches for mobile app developers is the need to support multiple platforms. Although Apple and Google supply free software development kits (SDKs) for developers to download and use, the two operating systems are very different. iOS apps must be developed on a Mac with OS X using Objective C while Android apps can be developed on Windows, OS X or Linux but uses Java.
Trying to maintain two separate versions of an app can be costly and time consuming. The good news is that there are a variety of cross platform SDKs available which allow developers to create one project and produce apps for both iOS and Android. Some of these are free and/or open source and some are commercial.