In essence, the words operate on different levels of "strength" where 手伝う is weaker than 助ける which is weaker than 救う. We will illustrate this with examples.
手伝う vs 助ける
手伝う is most preferred when both people are equally cooperating (or the person being helped is doing more work) and the help isn't particularly necessary. It also is only used when the help is pretty direct (going and doing a specific action).
Examples (stolen from the sources I list at the end):
彼が私のコピーを手伝ってくれた
He helped me with the photocopying.
Both parties are working to make copies, and its not that big of deal, just easier with help. The action is direct and simple.
彼がオーバーを着るのを手伝った
I helped him (to) put his overcoat on.
Both parties want him to get his overcoat on, and the help is just making it fast. The action is direct and simple.
友人の引っ越しを手伝う
I will help my friend move
Both parties are working on getting the friend moved, and it is still doable without the help, just more exhausting. The action is a bit more complicated/time consuming, but still direct.
助ける differs in that adds the nuance of more necessity/urgency. Alternatively, this gets used if what work the helper is employing is indirect and vague.
老人が歩くのを助けた
I helped the elderly person walk
While the help is direct, the elderly person (presumably) can't walk alone, at least not without great difficulty.
会の発展を助けた
I helped the society expand
The help could be minor, but since this is more vague/indirect, 助ける makes the most sense.
妻はパートをして家計を助けた
My wife worked part time to help the family finances
Again, the scope of the help isn't necessarily known, but because it is only indirectly doing an action in order to help the family finances, 手伝う is very odd here, so 助ける needs to be used. In general, financial help is something you don't use 手伝う for.
救う vs 助ける
First, 救う can be used in the sense of "religious salvation" or "moral redemption" which does not exist in 助ける. For example:
神は我々を罪から救うためキリストをこの世につかわされた
God sent Christ to redeem us from sin.
あの男は救いようのない悪人だ
He is past all hope of redemption.
It is also used refer to emotional relief, particularly in the passive:
私のせいではないと彼女が言ってくれた時は救われた思いがした
I was so relieved when she assured me it wasn't my fault.
それを聞いてわたし救われました
I am relieved to hear that
However, when focusing on the "core" meaning of saving/rescuing, the nuance tends to be about the status of the "rescuer," where respected positions whose duty is to save, like a doctor or a lifeguard, tend to have 救う be used, while 助ける is more common for peers/strangers. And possibly related, 助ける feels like it is more focused on the person being saved, while 救う is more on the savior (in a praising manner).
So:
彼はおぼれている子を救った
彼はおぼれている子を助けた
He saved the drowning child
These both work, but I would imagine the former being used more often for describing the actions of a life-guard being praised in the local news and the latter might be used when it is your child in question. Of course, the nuance is slight here, and both are perfectly acceptable in either situation.
Also related is that 救う resembles "help" in that it can also be used for providing financial assistance in situations we wouldn't used "save" for in English, like providing aid to less-wealthy countries. In this context, 救う has the same nuances compared to 助ける as before, but they are magnified. Using 救う can feel patronizing and portray a distinct sense of superiority.
Sources:
This GOO Thesaurus page
This meaning-difference page
This English-Japanese GOO 手伝う page for sentences
This English-Japanese GOO 助ける page for sentences
This English-Japanese GOO 救う page for sentences
This Eije Weblio page for 救われた for an example sentence
This 違い比較辞典 page
The first 知恵袋 page I used
The second 知恵袋 page I used