Как минимум, от объёма и состава данных и необходимости чтения их людьми и контроля ошибок.
Одномерный код отлично подходит для недлинных данных, вроде кода товара, номера заказа и т.п. — часто там, где мы цифруем уже существующие процессы, ранее обеспеченные людьми.
Двумерный лучше использовать там, где чтения закодированных данных «глазами», без технических средств, живыми людьми не предполагается, а данные могут быть длинными и содержать нечто большее, чем цифры. Кроме того, двумерные коды (QR тот же) позволяют, за счёт избыточности, избавляться от ошибок, вызванных повреждением кода (одномерные коды решают эту проблему иначе).