Traditionally, shall is used for the future tense with the first-person pronouns I and We: I shall, we shall. Will is used with the first-person (again, I refer to traditional usage) only when we wish to express determination. The opposite is true for the second-person (you) and third-person (he, she, it, they) pronouns: Will is used in the future tense, and shall is used only when we wish to express determination or to emphasize certainty.
Although this is the traditional distinction between shall and will, many linguists and grammarians have challenged this rule, and it is often not observed, even in formal writing. Personally, I still try to remember to follow it, even though the use of shall seems to be declining.
Here are some examples, applying the traditional rule.
First-person pronouns:
> I shall attend the meeting. (Simple future tense)
> I will attend the meeting. (Simple future tense but with an added sense of certainty or determination)
> Regardless of the weather, we shall go to the city. (Simple future tense)
> Regardless of the weather, we will go to the city. (Simple future tense but with an added sense of certainty or determination)
Second-person pronoun:
> You will receive a refund. (Simple future tense)
> You shall receive a refund. (Simple future tense but with an added sense of certainty or determination)
Third-person pronoun:
> It will be done on time. (Simple future tense)
> It shall be done on time. (Simple future tense but with an added sense of certainty or determination)
I believe that will is usually the better choice with second- and third-person pronouns. If we wish to express certainty or determination, we do not need to use shall but can provide emphasis by using an adverb, such as certainly or definitely. However, I believe that the distinction between shall and will that I mention above is useful with first-person pronouns.