In an old article I called the QR code a hopeless idea. I mostly saw codes on advertisements that opened a company's general website. Why scan one if you could type the address just as easily? I also complained that you had to install a separate scanning app.
What changed?
That last objection is no longer true. Apple explains how the iPhone camera reads QR codes directly. The technical hurdle is lower. Codes also appear on tickets, menus and in situations where a shortcut to specific information is useful.
My other criticism remains a useful question: what does a person get after scanning? A code can replace a long error-prone address or open the right instructions directly. But a code on a phone screen that must be scanned by that same phone, or one that leads to a generic advertisement, offers little help.
Design for the setting
Say briefly what the code does and provide a readable address where possible. Test the destination on a mobile screen and make sure it delivers the promised answer. Do not use a code merely because it looks modern. My old article underestimated the development of scanners, but asked the right design question: does this actually save the user effort?