What’s the difference between “insert” and “update”?
SSI looks at each CSV row, finds the configured unique identifier value (typically SKU), and asks: “Is there already a WordPress post with this identifier?”
- Yes; UPDATE the existing post’s title, postmeta, taxonomies, etc.
- No; INSERT a new post.
The match-existing stage makes this decision. Subsequent update-* and insert-* stages write the result.
With Post ID (posts.ID) matching, a row updates the post with that ID. A row whose ID matches nothing is inserted as a new post with a new WordPress ID, unless the import mode forbids creating items. See Choosing your unique identifier.
You can restrict the import to do only one or the other with the import mode (What should this import do?): Only create new items or Only update existing items. See Controlling which stages of an import actually run for every mode.
Import modes and what each stage writes sets out what each mode writes for a new row and for a matched one.

Further reading
Written for Super Speedy Imports 3.40.0.

Comments