When should I use either/or?
It comes down to the question of whether you need to be editing the records or pushing them through some kind of review/approval process or not. If it is simply for data collection, data you won’t be changing in the future, subforms are the simpler, cleaner way to go.
If you will be editing records, assigning tasks, etc, then you should look at creating a custom module.