If you say "Juan hace lo que puede por ayudar", you're saying that at this very moment Juan is using all his current capabilities to help, but if you are talking about a situation that involves the future, you need the subjunctive: "Juan hará lo que pueda para ayudar". The fact that you don't know exactly how much you can do to help right now is similar to having a future situation; this uncertainty is expressed through the subjunctive.

__________________♪ ♫♪Ain't it wonderful to be alive when the Rock'n'Roll plays... ♪♫♪