To elaborate on SGS’s answer a bit.
The keyword ‘local’ means: this name will only be recognised within this ‘block’ of code. In your case that would be everything within the for loop (from the line starting ‘for’ until the word ‘end’).
If you try to refer to an object called myCircle outside of that loop, it will not exist. The objects themselves exist as part of the sceneGroup, but they would not have name that you could reference directly.
Similarly, the loop repeats 10 times and each time it creates an object called myCircle. Each instance of that name only exists during that particular loop.
So when i = 1, you create an object called myCircle. When i increases to 2 and the loop repeats, the previous name myCircle is no longer in scope.
In SGS’s example he creates a table before the loop. Then in the loop itself, he populates 10 elements in that table with newCircle objects. These can then be referenced directly outside of the loop using circles[1] to circles[10].
He then removes the circles by looping through that table and deleting them one by one.
Tables and object scope are some of the most basic things that you need to understand before you can make any real progress in Lua. If you haven’t done so already, I highly recommend going through the sample projects and looking up some beginner guides online, otherwise you will find it much harder to do the things you would like to.