What is difference between "profession" and "occupation"? When we can use one and another?
One definition is that a "profession" involves a code of ethics, and that a "professional" believes in a duty to his profession and not merely to his employer.
Thus, for example, in the United States, doctors refuse to assist at criminal executions. There is no law against it, but it is against their profession. They take an oath that says that a doctor may not intentionally do harm to a patient.
Doctors, lawyers, accountants... some librarians, some journalists, some financial advisors... are professionals who subscribe to a code of ethics. Furthermore, if a professional violates the code of ethics badly, there is usually a quasi-judical board that will hear the case and possibly revoke the professional's membership in the professional organization.
A Profession is usually a skilled job which requires an education such as, doctor, teacher, lawyer or indeed any profession which is recognised as professional.
An Occupation is simply "a job". which could be the above or indeed anything else.
The words are often used interchangeably.