Navigating English is tricky, even for people who have spoken the language their whole lives. There are many pairs of words that not only sound the same, but have very close and sometimes interchangeable meanings. Insure and ensure perfectly demonstrate this. Though both words relate to providing reassurance or security, they aren't exactly synonyms.
According to Merriam-Webster, the verb ensure means "to make sure, certain, or safe." This definition is the looser of the two words, and it applies to scenarios where the thing being made certain is more abstract. An employee recommending their friend for a job may ensure their boss that their friend is a hard worker. Swimming guidelines at a public pool can ensure the safety of the guests.
Merriam-Webster gives a similar definition for insure. The verb is defined as "to make certain especially by taking necessary measures and precautions." That means insure can be used in many of the same sentences where ensure appears, but it's especially applicable to situations where concrete actions are being taken to guarantee something.
The dictionary also lists a second, more specific entry for insure: "to provide or obtain insurance on or for." This is the main area where the two words differ. While both terms describe making something certain, only insure should be used for legal and financial matters dealing with actual insurance.
There's a reason why these words are so easily confused. Centuries ago, ensure and insure were just alternate spellings of the same term. It wasn't until the mid-19th century that people started to differentiate them—but many English speakers still use them interchangeably today. Here are more quirks of the English language you should know about.