The disambiguation of USB versioning and speed differentiation is effectively impossible for the laymen. USB naming conventions have been a meme for years now. If they cared about the perception of their branding they would change the versioning completely, including retroactively, to something consumer friendly. In my opinion it should be something like the following: USB version number is the determining factor for transfer speeds Ex. 1.X = 512mb/s, 2.X = 2GB/s, 3.X = 10gb/s and so on. Secondly the USB versioning of the decimal place should tell you that versions feature set like power over USB, thunderbolt, internet, et cetera. So USB 3.2 and 2.2 and 1.2 would all have the same features but at different speeds because they are all the .2 version of the USB feature set.
At least for me this was helpful. Basically all that's important is the Gen 1/2 for the Type A, and only Gen2x2 for the zippy zippy.
One question that wasn't clear, would a 2.0 'cable' would throttle 3.0 devices on both ends? Is there verification circuitry in the cables themselves?
Short answer: yes the cable alone will throttle the speed b/c of diff, but compatible, wiring
All USB3+ connectors introduce separate data pins in addition to the USB2.0 data pins. A USB2.0 cable only makes contact with the legacy USB2.0 pins so everything works as if USB3 is not there at all.
Obviously, you want USB3+ for anything data intensive. Apart from the speed, it has the added advantage that it's full duplex, so data can flow simultaneously in both directions, like on Ethernet networks or PCIe.
BTW, 10Gbps USB3 introduces a new channel encoding which is more efficient. So while the 5Gbps variant translates to at most ~450MB/s real data (after accounting for channel encoding and protocol overhead), with 10Gbps you get ~1100MB/s. Consequently, Gen1x2 is slower (2x450 = 900MB/s) than Gen2x1 (1100MB/s). But it might work over longer distances.
USB3.0 added 5 new signals: an extra ground, and two pairs of differential signals, Tx and Rx (transmit and receive), to get the higher transfer speeds. This is what later became 3.1 gen 1 then and 3.2 gen 1. USB 3.1 doubled the transfer speed. With USB C, a second set of differential signals were added, another pair each of Tx and Rx. USB 3.2 gen 2x2 uses both sets of Tx/Rx wires to double the speed again--it's splitting and combining the data and running half of it on each channel, and that's the "x2" part.