For Cisco, as you have mentioned in your comment, EIGRP can do ECMP (it can also do unequal load balancing). It has a couple of algorithms that it uses: Per-Destination and Per-Packet.
When one route goes down in EIGRP load balancing, all the traffic switches over to the remaining path(s). When the down route comes back up, the algorithm in use will again send packets to the path that the algorithm has chosen for them.
Remember that packets are routed individually, one at a time.
For most routing protocols on Cisco IOS (even for static routing), ECMP is really handled by CEF, and you can see which method is being used with the show ip cef
command. The default is Per-Destination load balancing that uses a hash to determine which path a packet should take, and each packet is forwarded independently, so when a new path comes up, that can cause packets that would have gone on an existing path to now take the new path because the hashing of the destination addressing now goes to the new path.
The other method is Per-Packet load balancing, and it simply alternates packets between the available path, so when a new path comes up, packets will also be forwarded using the new path. Per-Packet load balancing is not normally recommended because it can cause out-of-order packet delivery. TCP in the destination can compensate for that at some resource cost, but UDP cannot, and it can completely disrupt real-time protocols that use UDP.