Because if you add some extra code just before the end of loop(), as @arduino556665 did, it won't be executed because of the return. But if you structure your if/else correctly, you would skip only the parts of the code you intended to skip (in this case when no client is connected) but still execute other code later in loop() that was intended to execute.
This isn't a law, just an opinion! I probably got my opinion from my uni lecturer in structured programming ~40 years ago.