The difference between SWIFT and SEPA is that SWIFT is a global international payment method, while SEPA is an European system, enabeling euro-denominated payments within the SEPA area.
The SEPA area covers the EEA states as well as Andorra, Guernsey, Isle of Man, Jersey, Monaco, San Marino, Saint-Pierre and Miquelon, Switzerland, the United Kingdom of Great Britain and Northern Ireland (incl. Gibraltar) and the Vatican City.
Chosing SWIFT or SEPA will depend on the transaction type, currency and locations.
BIC codes are used in international transactions to identify the recipient's bank, along with the recipient's account number, to ensure the funds are directed to the correct bank and account.