手伝ってくれませんか・手伝えませんか・手伝いましょう


I recently read that 手伝いましょう is a correct way to offer to help someone. What
are the differences between the following sentences? Please explain why any of
them are an incorrect.

  * 手伝ってくれませんか。
  * 手伝えませんか。
  * 手伝いませんか。
  * 手伝いましょう。




Here are English equivalents. They're not all necessarily word-for-word
translations, but they capture the nuances and situational appropriateness, I
think.

> 手伝ってくれませんか。  
>  Can you please help me?
>
> 手伝えませんか。  
>  Won't you be able help me? (See note*)
>
> 手伝いませんか。  
>  Will you help me? (See note*)
>
> 手伝いましょう。  
>  Let me help you out. (Note: I often hear this as 手伝いましょうか or 手伝おうか)

*Note: I don't hear these often, probably there are more polite ways to say these, like 手伝ってもらえませんか、手伝ってもらっても良いですか、or 敬語 depending on the situation.

