So the net result of this is that the document is uploaded and the Item Adding and Item Added events have fired, which is pretty much what you would expect.
Next, let’s look at what happens when the user adds a document when the Require Check Out option is enabled.
The first time the Item Updating and Item Updated events fire it is in response to the document properties changing.
The second time they fire it is in response to the document being checked in.
Additionally, the properties parameter may not be populated with information that you would tend to expect to be present.
Instead of writing more paragraphs I can use tabular to explain, I think this will be easy to understand.
Each event method has a SPItem Event Properties parameter named properties.
However, one may argue that Item Added/Item Update events are similar like Content Approval events. maybe there’s complexities with the new content approval events and Share Point team has not added the new content approval events.
So when user add/edit an item and as part of the add/edit if approval status field get updated then which events to fire? So consider now the problem we’re going to talk about.Later on, when you checked the document in, you would see those events fire again.