Dependencies are for runtime use, while dev-dependencies are only for building and testing your Rust project.
Dependencies are libraries your project needs to run, while dev-dependencies are only required for building or testing. Add runtime libraries to [dependencies] and testing tools to [dev-dependencies] in your Cargo.toml.
[dependencies]
rand = "0.8.5"
[dev-dependencies]
criterion = "0.5"
Dependencies are the tools your software needs to work for users, like a car needing an engine. Dev-dependencies are tools you only need while building the software, like the wrenches a mechanic uses in the factory. You list the engine in the main parts list, but keep the wrenches in a separate box for the workshop.