The IBAN uniquely identifies a Bank and Account number Globally.
Technically only IBAN should be sufficient.
However in real world, today the way application have got developed [over a last 30 years without IBAN being in place], require Beneficiary Bank Code [identifiers], because based on that they determine how the payment needs to be processed.
Although IBAN has been adopted by more countries in Europe [plus Australia, New Zealand and more], there applications have not yet undergone the required change to fully support the real purpose or essence of IBAN. It would still be quite some time for IBAN to be truly functional.