Introduction
Structs hold their own copy of data. When you assign or pass them, you get a fresh copy, not a shared one.
When you want to keep data safe from accidental changes.
When you want each variable to have its own independent data.
When you want simple data containers like points or sizes.
When you want to avoid unexpected side effects from shared data.