Ambos verbos se usam como auxiliar para formar o futuro, mas a principal diferença está em que "shall" é muito mais educado e formal, está mais presente em documentos legais e, por outra parte, "will" se usa mais na fala e no dia a dia. Outra diferença é que "shall" se usa com mais frequência no inglês britânico e "will" no inglês americano.
Usamos "will" como verbo modal para a formação do futuro e "shall" também se usa para a formação do futuro com as primeiras pessoas "I, we".
Exemplos:
I'll be home this evening.
(Estarei em casa esta noite.)
I shall find a hotel when I get there.
(Encontrarei um hotel quando eu chegar lá.)
Usa-se "will" para fazer predições e "shall" para fazer promessas.
Exemplos:
It will be raining in a minute.
(Estará chovendo em um minuto.)
I shall give you a doll for your birthday.
(Vou te dar uma boneca pelo seu aniversário.)
Usam-se ambos verbos para fazer sugestões ou oferecimentos.
Exemplos:
Shall I help you clean the house?
(Posso te ajudar a limpar a casa?)
Will you go with me?
(Quer ir comigo?)
Usam-se ambos verbos para expressar uma ordem, usa-se "shall" especialmente em documentos oficiais.
Exemplos:
You will do your homework now.
(Você fará sua lição de casa agora.)
You shall not steal.
(Não furtarás.)