If you are still confused with pointers, smart pointers and how Rust manage them or which smart pointers to use in a specific situation, below 3 clear and well structured articles on that topic:
Rust from scratch: Smart pointers by Mohsen Zainalpour
Smart-pointers by @wusyong
Wrapper Types in Rust: Choosing Your Guarantees by Manish Goregaokar