yòu (又) signals the accumulation of actualized events.
他今年回來了，明年又會回來 (tā jīn nián huí lái liǎo，míng nián yòu huì huí lái/ He came back this year, and he will be back again next year.) → The sentence focuses on the realization of the event.
zài (再) is used to indicate the repetition of non-actualized actions.
他今年回來了，明年會再回來 (tā jīn nián huí lái liǎo，míng nián huì zài huí lái/ He came back this year, and he will come back again next year.) → The non-actualized action will take place sequentially.
zài (再) can also be used to indicate the habitual sequence of events. For instance, in the sentence 我們先吃飯,唱歌, 然後再跳舞 (wǒ mén xiān chī fàn , chàng gē, rán hòu zài tiào wǔ/ We ate, sang and then we danced), the non-actualized events are presented in a sequence.
On the contrary, in the sentence 我們先吃了飯,唱了歌, 然後又跳了舞 (wǒ mén xiān chī le fàn , chàng le gē, rán hòu yòu tiào le wǔ/ We ate, we sang and then later we danced), the actualized events are presented in real time.