Sometimes I wonder as well about the choice to use multiple fields rather than just store the entire repeater as an array, but then that would not really help with the copying of layout. The current storage method does make it easier to use a recursive function to save sub fields. I don’t know all of the history, but it think it had something to do with using the standard format for saving fields and the indexes arose out of the need to keep the sub fields of each row associated with each other. I can’t say for sure and the developer rarely posts here any more and leave it up to users like me to help so that he can work on ACF. If you look in the github repo for ACF 4 you can see some references to why values are stored the way they are but nothing specific, here’s an example https://github.com/elliotcondon/acf/issues/68
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users
Helping others is a great way to earn karma, gain badges and help ACF development!