Better than an expert
Even at the most basic level, a QR code is just a link, and, when used well, that link is to information. The Home Depot uses QR codes on their flowers and plants. With it they provide a way for people to get information on how often the plant is to be watered and how much light it needs.

Lesson 15: Retail is no longer staffed with experts; it is staffed with flesh pods who take up space, and even when you can find one of these flesh pods, they are rarely able to answer your questions beyond reading what is on a label. At least this way you can help your consumer out, and, better yet, deliver information in a consistent way. Home Depot actually is one of the better places where people can at least sometimes help you -- at most retailers the staff just walks you over to the product and reads the display card. I sometimes want to scream, "I can actually read, and probably better than you." At least with QR codes, you give the consumer a chance to avoid your clueless flesh drones and have your brand be viewed positively.
Show them, don't tell them to download your app
Instagram, you know, that company worth a billion dollars because they are...uh...umm...Why are they worth a billion dollars again? Anyway, they demonstrated their product functionality in a QR code that drove downloads of their app.

Lesson 16: Like a virtual version of lesson two, if you have an app, QR codes are ideal if you want people to download that app. But please do something a little more creative than the basic black and white "block-o-blocks." Demonstrate what your app does, and tie it to your brand. Make the ad your app. Show them, don't tell them, to download your app. This idea can be used for any company with an app.
And please, and do not ignore this: Test the bejesus out of that QR code, and make sure it is able to be scanned. Sometimes creative directors get a little too creative. So much so that they avoid the technology that the creative is supposed to enable. Test the creative of the QR code, test it again, and test it at various sizes and from various distances. And then have three other people test it. When companies implement a technical solution and do it poorly, the entire effort backfires, and instead of the company being viewed as an innovator, they are viewed as incompetent.