Hi Piyush
Trigger.NewMap means it is a map<Id, Custom_obj__c>
In before insert context your Trigger.NewMap always be null because in before context records is not submitted to database so Id is not generated that’s why in before insert we don’t useTrigger.NewMap
But in After insert Id is generated so We can use Trigger.NewMap
In case of before and After update since id is already generated in Insert event.
SO we can use Trigger.NewMap in before and After update