In meaning, these three verbs seem to be nearly interchangeable; all three denote a certainty or guarantee being made. However, in practice, the best writers do distinguish among these terms, as follows:
“Assure” is used to refer to interaction between people:
The editor assured me that my conclusion was incorrect.
“Ensure” is used more broadly to mean “to make certain”:
The company uses monthly financial disclosures to ensure clients of its solvency.
“Insure” is favored in instances of guaranteeing life or property against risk:
To insure your home against floods, you must purchase extra insurance separate from your homeowner’s policy.