Also a nice to know item- after a RETI one instruction is always executed before any pending interrupt. So your original code (without clearing the flag) would return to the main empty loop, then back to the isr.
Put pin toggle code in the main loop, leave out the flag clearing in the isr, and you will still see the pin toggle from the main loop. Put a normal delay between the toggle and you will see a major slowdown of the toggle.
Which means you can still see the effects of main code running at a snails pace when you forget to clear an irq flag.