When selecting a 2D barcode reader app, consumers/users should know that, in addition to mobile device compatibility, code detection capability and cost (free or paid), there are differences in functionality that may help determine which app is best or most appropriate for use.
Of the dozens and dozens of code reader apps currently on the market, some provide the bare minimum of functionality, which is the ability to just scan a code. On the other hand, there are some apps which provide a great deal of functionality, and enable a consumer/user to do the following: save and view a history of scanned codes, scan either 1D or 2D codes, enter a code directly, email or share a code, scan a web page for a code, store favorites and set preferences (e.g., set auto focus, set the camera flash, select a sound or vibrate on the scan, set language, set currency, set geolocation, etc.). Robust code reader apps such as these include: BeeTag, i-nigma, Lynkee, MobileTag, NeoReader, QuickMark, ScanLife and ZXing. All of these apps are free and I would be hard pressed to know what a paid app offers in the way of functionality that these do not.
Because there is no choice as to which code reader app can be used to scan and read a proprietary barcode (e.g., Microsoft Tag, AT&T Mobile Barcode, etc.), there is really no discussion to be had or consideration to be given in regard to functionality.
While all of the above may be helpful to the individual consumer/user, it can also be helpful to a company that wishes to make use of 2D technology. The thought here is that if a company chooses to "endorse" a specific code reader app, by mentioning it in their ad or promotion, then it might be important to know which app offers the most, or least, in the way of functionality. Additionally, the thought of app endorsement might give a company pause to think about private labeling a 2D barcode reader app and how that might play into their overall branding strategy.
Please comment if you know of other code reader apps that are worth taking a look at, or if I missed any worthwhile or important functions that one should have.
Note: I did not mention iPhone code reader apps, because I use an Android phone.