In changing the title and in writing the explanation keep in mind that the most important concept here is the fact that the code is implementing a 'delay' without using the 'delay()' function. The fact that one or more LEDs are blinking is not really what this is all about.
The blinking of an LED is an example of what can be done with any kind of delay technique. The blinking of an LED while also doing something else is an example of what can be done when the use of delay() is eliminated, as is the independent blinking of two LEDs.
It also helps introduce how to handle/work with asynchronous events which to my mind is the crux of loop().