I'm not sure what is so difficult to understand here. You have a list of instances. You create one, and it is added to the end of that list by default.
Now, if I have an event to Pick Nth Instance, it picks based on the order of that list.
For example:
I create 5 instances, and they are ordered in succession. I can Pick Nth Instance with Instance.count-1 to choose the last one that was created. Or I could pick 0, the first instance created. I don't care when they were created, because I know which one I can pick because I know the order they are in.
Now, these 5 instances- their order is important, but I need to destroy the first instance and create a new instance in its' place. Destroying the first instance is simple. But now, my code, which can easily just pick instance with iid=0, will pick the second instance that was originally created- not the new one I'm creating.
So, instead of it being easy and allowing me to create the instance at the front of the list, I have to create at the end of the list and now use a second piece of data to represent its' order. Or I have to reposition the previous ones, transfer their properties to each other if they have any, etc..
If I could just create instance and choose to create it at front of list, I can avoid all the extra stuff. It should be pretty obvious the benefits?
So yeah, I know it can be done other ways, but the point here is to make things better/easier/quicker/etc. When you start making complicated programs, these little things can be extremely useful.