This way you can do a loop numOfObjects times, and use a condition of "loopIndex = spreadValue" to manipulate an individual instance.
The For each condition completely supersedes this. It automatically triggers for each instance - or each picked instance, if more picking conditions are above it - and allows you to perform actions on instances individually. You can even for-each two objects in one event, and use a Compare Values to compare distances or whatever, to cycle all combinations of instances (the Turret movement is probably better at this though). So "Spread value" is completely redundant in Construct.
I'd be interested to see a .cap or some events demonstrating a situation where specific instance manipulation by UID is the only solution, and no better way exists. I only really put in UIDs to allow for referring to a specific object over time.