1a) A trigger can be for update, insert **OR** delete - not all three. You need three triggers - note the plural.
1b) on a delete trigger use REFERENCING OLD; on a new trigger use REFERENCING NEW; what do you want to do with an update trigger?
2) a trigger is the only way to be certain of capturing all changes.
3) a trigger is fired when the alteration occurs; you can't pospone it to some later time. You can, however, use the trigger to populate a "to be processed" table and then process that table at a later time.
James Campbell