A QR Code, or Quick Response Code, is a link to digital media. It is used on print material to make a bridge with some online content. Even though QR codes fill a purely technical role, there is no reason that they should be ugly and boring. The black and white pixels that you get with a regular generator aren't going to draw the attention of any customer. This is why design is important. Don't spend a fortune on a cool poster to add an ugly square pixel in the bottom corner!
QR Code design is a little tricky, as it requires to remain within the "30% error margin". A QR Code reader will not process a code if it is too far from it's orginal black and white version. Colors need to be chosen with care, as well as the shapes used. It's an art!