In going through the import data files (e.g. Products), I came to understand that although the parent-child hierarchy is defined in the Lists,
1) the data for the parent (Product Family - Chocolate, Sours, Taffy, Fudge) still have to be defined in the import file.
2) the mapping for the parent (Product Family) still have to be defined during import.
I would have thought that since the parent-child (Product Family and Product) hierarchy was already defined, then parent (Product Family - Chocolate, Sours, Taffy, Fudge) would automatically be filled up but it does not seem to be so.
Yes your understanding is correct. You can have multiple options of mapping the source with the target in import action. It looks like that you are importing it on Names instead of Codes, since Names are different in source and target it doesn't map automatically.
I would suggest you change the mapping criteria in your import action from Name to Code, it should map automatically. Let me know if it doesn't
Product family is the line-item that doesn't hold any value flowing from P1 or P2 list directly. So, it requires mapping for the import source file to understand the family code to be matching with their respective child product names or product codes. So the bottom up approach is being followed here.