Traditional barcodes can only store 20 numeric characters wheras QR Codes can store up to 7,089 numeric characters or 2,953 alphanumeric characters.
Damaged or obscured QR Codes can still work so long as 70% or more of the code is scannable.
Source: SCMP Data - March 2019