Many apps have a Free version and a Full version. How is it compared to, installing a single version, and use an in-app purchase of $0.99 or $1.99 to unlock to the program to make it a full version? It does have the advantage that the user doesn't have to go to the App Store and install the program one more time and thus making it easier for the users to purchase.
One thing I don't understand is, many apps have a Free version and a Full version.
Some do, some don't. There's not one specific reason, like "the app store guidelines say you have to do it this way." There are several reasons, including but not limited to:
Setting up and administering in-app purchase can be a bit complicated and an ongoing hassle, especially compared to just selling something through the app store.
Building two versions of an app from a common code base may be simpler than building one version that dynamically switches from "free" mode to "paid" mode.
Having two apps in the app store gets you a little more exposure than just having one. Your apps can be listed in both the "free" and "paid" categories, and searches that find your app will often display both versions.
It may be advantageous to have two different bundle identifiers in some cases.
Some of these apps may have been created before Apple allowed in-app purchases, and the developers don't want to orphan existing users by removing the old paid version from the store. In-app purchasing also requires the use of a few more APIs and lines of code that some developers may not want to or know how to add. The use of the IAP API can also increase the number of test scenarios needed, and thus test and QA time and/or cost.
if you look at ratings and comments for apps that require in-app purchase to get the complete functionality people often regard it as a ripp-off. why? because people are moving fast and do not read. so they see a free app, read the feature list and download it only to discover later that most features have to be enabled via in-app purchase. of you provide both, free and full version, you have two possibilities to explain it in the app store. and just by adding "free" or "light" to your app name you make it obvious that there are 2 versions with different functionalities. you cannot do this with in-app purchase. in-app purchase is only good for adding new functionality and features, not for unlocking the basic functionality.