Before Trigger:
- In case of validation check in the same object.
- Update the same object.
After Trigger:
- Insert/Update related object, not the same object.
- Notification email.
If we want to update a record of an object, we cannot use After trigger, because it causes read only error. This is because, after inserting or updating, we cannot update a record. Update should be made in before event for the same object.