There is an ambiguity in Cargo version naming.
Why this deviation in version numbering, is it a bug or on any purpose? and which version numbering we shall follow.
0.7x is the version of the Cargo crate, 1.7x is the rust toolchain, and the bundled Cargo binary. Slightly confusing indeed. See cargo/src/cargo/version.rs at master · rust-lang/cargo · GitHub.
What is the term I should use when say under "prerequisites" that you need to have both Rust and Cargo installed.
Ineed what does it even mean when I say "Rust", for correctness I probably should have said the "Rust compiler and Cargo". Or maybe I can just say "Cargo" because that includes the rust compiler.
What is the "toolchain" exactly?
For accuracy you could specify "rustc+cargo 1.7X", although just "rust 1.XX" etc. is usually enough, since rustc and cargo are included in the minimal installation. See the rustup docs on toolchains, components and profiles.
So, for example if a bug is reported on 0.71 of Cargo crate/lib, it will be present/applicable to rust toolchain cargo 1.70 ?. Similarly if bug fixed on cargo crate 0.71, can it be considered as it is fixed in rustc's cargo 1.70.