What are the differences between offer, propose, and suggest?
The differences are of formality, weight, and exchange.
As Aaron's answer illustrates, offer has an element of exchange or cost implied. For example, the phrase "make an offer" when negotiating the price of something. An offer is from some party to another party, whether you're offering your hand (to balance somebody), your house (to host a party), or a discount (on the sale of an item).
Suggest and propose differ in their level of formality and weight. For example, food often comes with a "Serving Suggestion" (we think about this much would be a good portion) — using propose here would seem overly formal.
Suggest is also used to distinguish between a recommendation and an order. "I suggest you do this" has a different tone to "Do this." Sometimes an intensifier is used to convey that what is formally only a suggestion is actually a command "I strongly suggest you [x]..."
Propose is the most formal. You propose to your girlfriend that the pair of you get married; it's unlikely that you would suggest the same thing. The best working definition of propose I can think of is "to make a formal submission for appraisal." This is why researches write proposals for research funding and not suggestions.
Does that help?
(1) An offer is open-ended; it puts something in front of another person leaving that person free to accept or reject the offer. E.g. "We offer several afternoon activities for you to consider." "Please offer a cold drink to our guests."
(2) A suggestion is a soft way of presenting an idea for something to happen; you may hear people say, "Never mind, it was just a suggestion." The speaker would be happy if the thing happens, but it's okay if it doesn't.
E.g. "I suggest that tomorrow morning we all go on a picnic together."
(3) A proposal carries the speaker's endorsement of the idea or activity being proposed; it's like saying you think this should happen. It is often, but not always, used in a more formal context than the word offer. You may see the phrase "business proposal" or "marriage proposal."
E.g. "I propose that we continue this discussion at the meeting next week." "I propose that tomorrow morning we all go on a picnic together."
Note: He proposed to her last night! This alway means that he asked her to marry him. When propose is used on its own, it means that someone proposes marriage. A very different meaning attaches to the word "proposition" used as a verb. To proposition someone has a sexual connotation; the speaker is asking for sex in exchange for money. E.g. "She thought he was nice until he propositioned her."
Note that PROPOSE and SUGGEST are closer to each other in meaning than either is to OFFER
(I'm a native speaker of American English and a certified teacher of ESL/EFL, specializing in Legal English.)
Suggestion is to mention an idea, possible plan, or action for other people to consider:
I suggested an Italian restaurant near the station for the party.
Offer is to ask someone if they would like to have something or if they would like you to do something:
She was offered a job in Paris.
A proposal is a suggestion, sometimes a written one:
Have you read Steve's proposals for the new project?
Here you have a really good blog and video explanation about this topic: https://www.krisamerikos.com/blog/suggest-offer-propose