Delegates/models are quite easy to use and very powerful! They looked confusing at first to me but I realised that the delegate is just the object and the model is just the data.
As for adding animations, I made my own in a ListView - it's also easy to do in QML :).
Strange that Flow has 'add' animations and yet no special function for adding children?
I always figured it was just a simpler (less overhead) layout item and that people would use GridView if they wanted dynamic.
What I like best about the code you gave is how easy it is to create completely different components (not just a single delegate) within the same item. I will definitely make use of that in future.
If you had the Component element defined in the same QML file, you could just use onAccepted: tagComponent.createObject(parent)