Use shall in the first person to express the future. (I shall visit you in the spring). Use will in the second or third person. (They will visit me in the spring.) That's easy enough but the subtly comes when we want to express a command or strong determination. Then we reverse the rule.
I will not go back to that place. You shall make a dreadful mistake if you marry Bart.
Please note that even Churchill said it wrong: "We shall fight on the beaches, we shall fight on the landing grounds . . . we shall never surrender."
Most people won't know the difference,
but I will use shall correctly.