Directory Synchronization vs. Migration

Hello Engineers,

I need to understand what exactly is the purpose of Directory Synchronization. How is this technically different from Migration. Can I use directory synchronization instead of migration to transfer directory objects (users, groups etc.) from one Active Directory forest to another Another Active Directory forest. How do I know or determine when do I have to use Directory Synchronization vs. Migration? Is directory synchronization is only used for migrating mail enabled users and groups?

Looking forward to explanation and answer of above mentioned questions.

Thanks in advance!