Shall- largely unused in American English. In British English it is used in questions (What shall I do? Shall we go?). It can be used for I/we instead of 'will'; this tends not to be used in colloquial texts, but is used in formal texts. 2nd and 3rd person + shall is used to show extra willpower on the part of the speaker (Oh yes, you shall!)
Note that in any English dialect, only shall applies for invitations. "Will we dance?" is ridiculous, while "Will we have coffee in the living room?" would make guests wonder how much wine the host or hostess has consumed.
Nevertheless, the basic distinction is that shall denotes obligation, and will, desire.
I shall do something ... because in some way I have to.
I will do something ... because in some way I want to.
Likewise for the second and third persons.
Here's a quote from Francis Bacon that makes this distinction very clear:
"If a man will begin with certainties, he shall end in doubts, but if he will be content to begin with doubts, he shall end in certainties."
However, shall for the second person (you) sounds very pretentious, or with biblical overtones: thou shalt not kill. In the third person shall is used fairly commonly, though very formally, to mark an absolute, legal, requirement.
In questions the same distinction holds, but it becomes rather tricky.
"Will I do something?" is a kind of reply when I have already been asked if I want to do something.
"Shall I do something?" is my question about whether or not I am required to do it.
Therefore "Will we dance?" makes no sense as a first question. It is "Shall we dance?", because the man(?) is asking the woman(?) whether there is anything between them to facilitate their turn on the floor. [If the woman is unsure, she could reply, dreamily, "will we dance....". You get the picture. :) ]
"Shall you do something?" and "Shall they do something?" carry the same meaning, but are scarcely used today.
"Will you do something?" and "Will they do something" are quite normal.
If this is all very confusing, the solution is very simple.
Use "I will, we will" when you want to do something.
Use "I must, we must" when you have to do something.
Use "you, he, she, it, they will" in all cases unless "must" is called for.
In questions, use "shall I?" and "shall we?", but, depending on what you want to say, "will you/he/she/it/they" or "must you/he/she/it/they".
Well, it can also be a directive, which is quite a common use:
You shall do what I tell you.
I don't think it's at all common on the west side of the Atlantic. Actually, the Fowlers considered "you shall" pretentious for the King's English, as far back as 1908. I suppose it may have become more common in the UK since. :)