Difference between di- and bi- ?

“bi-” is from Latin and “di-” is from Greek. “uni-” and “mono-” are another such pair. Often the choice between them is dictated by the origins of the other elements of the word.