O código de barras comum tem 2 problemas:
- tamanho: ocupa muito espaço físico;
- não permite códigos alfanuméricos: isso faz com que o número de seriais seja muito reduzido ou o código fique cada vez maior.
Códigos seriais alfanumericos são essenciais para a serialização de itens de forma eficiente.
Além disso, dependendo da aplicação, o QRCode permite inserir a URL para os dados e outras formas de interação.
Se fosse somente um código de barras "comum" (Code 128 - padrão GS1, por exemplo), sempre seria necessário um sistema, aplicativo específico ou, ainda, que o consumidor soubesse a página para consultar os dados.
Tem tudo a ver com usabilidade.