Grasping and describing the exact meaning of words is an arduous task, and these pretty similar words probably differ in scores of subtle ways I can't even fathom, but here are a few notable differences between them I can see and put into words.
Crudely put, "手伝う" means "to help" (in the sense of "lending a hand") while "役に立つ" means "to be useful/helpful". "手伝う" often implies being useful, but not necessarily. For example, you may say "父の仕事を手伝ったが、あまり役に立たなかった。".
"役に立つ" usually refers to affording practical help, while "力になる" is often about lending moral support (though it can be used about practical help, too). You might hear an Olympic athlete, interviewed after winning a gold medal, say something along the lines of "皆さんの応援が力になりました。", but probably never "皆さんの応援が役に立ちました。".
In terms of absolute frequency, I suspect "力になる" comes in dead last. (For reference, there are 220 raw hits for "力になる" on BCCWJ, but the actual number will be much lower after removing false positives. There are 298 hits for "手伝う" and 1029 for "役に立つ".) I guess we don't really use "力になる" in the "practical help" sense in our everyday lives like the other two. Such uses of "力になる" tends to be reserved for less mundane situations, or more formal or affected style of speech, I may well say.
In hindsight, I should've guessed 力になる had some meaning of power or encouragement, considering the used kanji. I noticed it but shrugged it off. Bad habit, admittedly.
– Justin Jul 26 '21 at 01:29