Three words, three meanings
These three words are often used interchangeably, but careful writing distinguishes them. "Ensure" means to make certain that something happens. "Insure" means to provide financial coverage against loss. "Assure" means to remove doubt from someone's mind, it always takes a person as its object.
The confusion is understandable because all three share a Latin root meaning "safe" or "secure." Over centuries, English split one concept into three specialized verbs.
- We took steps to ensure the project finished on time. (make certain)
- You should insure the shipment against damage. (financial coverage)
- I can assure you that the data is accurate. (remove doubt from a person)
The "ensure" default
When you mean "make certain," always choose "ensure." This is the most common of the three in professional writing, and it is the one most often confused with "insure." Unless you are literally discussing an insurance policy, "ensure" is almost certainly the word you want.
A useful shortcut: if you can replace the word with "guarantee" or "make sure," use "ensure." If you can replace it with "buy a policy for," use "insure."
Regional differences
In British English, "insure" and "ensure" were historically more interchangeable, and some older British texts use "insure" where American English would require "ensure." Modern British style guides have largely adopted the American distinction, but you may encounter the older usage in legal or historical documents.
In all varieties of English, "assure" is the most distinct of the three: it always involves telling a person something to ease their concern.