Basically, the difference is the intent. Someone can be insulting and yet not offend anyone, and someone can be offended by someone who isn't insulting. Calling someone an asshole is being insulting, even if the person being called an asshole doesn't take it personal and get offended. On the other hand, if someone doesn't believe something just because someone else does (without any evidence for, and in spite of evidence against) it does not make the skeptic insulting even if the believer is offended. Does this example seem like it may have a real life parallel, maybe based on a true story?
offend - 2 a: to cause difficulty, discomfort, or injury b: to cause dislike, anger, or vexation (offend needlessly)
offend need not imply an intentional hurting but it may indicate merely a violation of the victim's sense of what is proper or fitting
insult - : to treat with insolence, indignity, or contempt
insult suggests deliberately causing humiliation, hurt pride, or shame
If you ever find yourself being offended, you might consider taking a step back for a little bit of self reflection. Why are you being offended? What nerve did someone hit?
As far as being insulting goes, just because I find you insulting, doesn't mean that what you said has any clout. Instead, it could mean that you are just generally unpleasant to be around.
Next subtly different synonym comparison - pride vs arrogance