Barcodes are single dimensional codes.
Barcodes represented by the bars are designed across only one dimension, in this case horizontal. As such, the information that they can hold is very limited. Primarily barcodes are used as a means to track product information. It can contain only up to 20 numerical digits.
QR codes are two dimensional figures.
They are spread across horizontally as well as vertically, and thus they have a square appearance in contrast to the single line rectangular looking bars that barcodes can easily be identified with.
The vertical and horizontal layouts of QR codes allow QR codes to contain more information than a barcode can possibly contain. In fact QR codes can hold up to thousands of alphanumeric characters.
The amount of information that can be stored in a QR code as opposed to barcodes is one of the most basic difference.