From a politically correct point of view, the first two are discriminative and should be avoided. The third one is okay. That is, キャリアウーマン has an implication that women are supposed to stay at home taking care of the housework, and it refers to women who, regardless of that expectation, keep a professional career in life. OL refers to women who do deskwork as a job. Since there is already a widely accepted word 会社員 that expresses that job, using the word OL means that you are assuming that 会社員 should not be used to refer to women, and are using a new word for that conecpt, which is prejudice. In fact, there is nothing wrong with refering to female desk workers as well as male ones with the word 会社員. ビジネスウーマン is a word that was created as a woman counterpart to ビジネスマン for political correctness just like the English word firewoman was created as the counterpart to fireman.
Regarding the type of job, キャリアウーマン does not specify any, but OL and ビジネスウーマン refer to deskworkers.
I think ビジネスマン and サラリーマン are almost the same, but if you want to force a difference, ビジネスマン and ビジネスウーマン can refer to people who own their business whereas サラリーマン is someone who is hired.