I've seen QR codes popping up in the last few months. When I first encountered it in the wild, I saw a 2-D barcode and thought why it was so prominent on the advertising. I've seen 2-D barcodes on other things such as my at&t bill that turns out to be some sort of reference number. Being a geeky person, I decided to see if there was a 2-D barcode reader for iPhone and actually see what data was encoded in these codes.
Turns out an app I had that scans regular 1-D UPC barcodes could also scan QR codes (I had to enable QR for RedLaser by going to the Settings app). The first code in the wild I scanned was at Jeff's Pizza. I figured it might be a coupon or some sort of interesting information. I was disappointed that it was just a geo-location that brought up a non-mobile version of Google Maps. Not really a good experience.
Later I received a flyer in the mail for Cyclone basketball. On it was a QR code to scan to win a pair of tickets to a game of my choice. I won, but the experience of filling out the information on my mobile browser was not optimized for a mobile device (thank god it didn't require flash).
There are so many things you can do with QR codes. If done right, it can be a positive experience for the user. Since an encoded URL is not really seen by the user on the print, you can easily embed campaign codes to better track your advertising effectiveness. It also makes it much easier for the user to get additional information and engage the user in your message. However, if it is not done right, it may be confusing or even be a detriment a person's opinion of your message as it was for my first experiences with QR codes.
I've put together a few notes that might help people implement QR codes effectively:
I'm sure there are other things that can make using QR codes easier and more fun, but following the points above will put you well ahead of most of the implementations I've seen so far.