BDC is the good old method of moving legacy data to SAP. BAPI is the new enhanced Application Interface through which data can be uploaded into SAP System. BDC is transaction oriented. ... Whereas BAPI is an interfacing method, through which SAP data can be processed from within SAP or from other non-SAP applications.
BDC deals with the Screen so in future if the BDC related screens are changed by SAP as part of upgrade then BDC might stop working correctly.
Data is not updated in database table unless Session is processed