Are there any differences between 手を差し伸べる, 手伝う and 助ける? They all mean "I will help you". In which situations would I use each of them?
Very much different in their nuances.
手を差し伸べる -- start helping someone who is desperate.
手伝う -- general 'help'
助ける -- save, rescue and help something.
Use them carefully with looking up you dictionary. Some Japanese dictionaries provide you some collocations.
See also 支える