FOREIGN KEY гарантирует целостность: значение в столбце ссылается на существующую запись в другой таблице. Нельзя вставить заказ с несуществующим customer_id. При удалении/обновлении родителя можно задать CASCADE (удалить/обновить дочерние), RESTRICT (запретить удаление при наличии ссылок), SET NULL и др.