Structs in Rust define custom data types with named fields. They come in three forms: **unit-like** (empty), **tuple-like** (unnamed fields), and **regular** (named fields). Use `impl` blocks to add methods. Structs are key for creating complex, reusable data models in Rust.