It is strange. Maybe again it’s to get to the latest comments without having to extract all transactions and display the last one. Seems wasteful given the speed with which a modern db server would do that, and plenty of scope for them going out of sync.
No, I read the second table as just being a “snapshot” of the current status of the delivery (or whatever it is we’re looking at). So there would only ever be one of those, hence the update, or insert when the job is first created. Maybe the OP will confirm or deny this is how they relate.