The point why you USUALLY don't put a wait(1) on top is, that normally you want to have the very first run of the loop completed immediately (e.g. directly after entity creation) so any changes you do affect (the entity) direectly.

If you put a wait(1) on top of the loop, you will have one frame delay on first run, which can cause a short "jitter" when modifying position, scale, alpha of the entity in the loop. As long as the loop has not run at least once, you'll see the old/default values, which may be entirely different.

That's all to it.
When not doing entity stuff, wait(1) on top might be just what you want. There isn't really a right or wrong.