In theory, it is fairly simple duplicating a tape.
The problem with tape-to-tape copies is that sound quality lowers and spurious noises appear into each new consecutive copy. It did not contribute to improve the situation, that later tape copy protection methods/turbo loaders (SpeedLock, Alcatraz...) were more sensitive to noise, either due to the higher speeds, and also due to routines listening to noise that was not supposed to be in an "original copy" - or conversely, as @scruss correctly points out, listening to sounds that were supposed to be in the original copy.
To further complicate matters, also later Spectrum/clone models, notably some Spectrum+ models in Spain and Portugal, and the Timex clones were made more "hard of hearing", as a brain-damaged strategy idea to curb piracy (actually the Timex TC2048 clone I owned, had a 10x stronger resistor than the original speccy, in the circuit connected to EAR - e.g. a 10K resistor instead of a 1K resistor, known as R37 in the ZX Spectrum official electronic schematics).
That hardware change meant that often tapes that did load well in a regular ZX 48K Spectrum, did not load in a equivalent machine affected by that change, and would cause additional problems in using copied tapes.
High-stereos hifi devices often did not cut it, due to the technology they had to improve the listening experience. I bought a HiFi stereo double deck tape recorder/radio for listening to music, with a mixer/stereo sound equaliser and never managed to load games from there, let alone copying ZX Spectrum tape/data copies. Ironically, one of the best tape recorders I owned for loading games, was a modest/mono one my father got from contraband from the (now former) Eastern block, made not with ICs but (still) with transistors.
Besides copying tape-to-tape, people back then also used software methods for copying programs saved on tapes, to get better quality/"fresh" copies. From the humble "Pirate" for "normal speed tapes", if memory does not fail me, to the famous "Lerm Tape Copier", "Omnicopy 2", and "The Key", that understood several types of turbo loaders.
Other common strategy, was cracking the protections of turbo loaders, if you had the knowledge, using a Spectrum Z80 debugger like Mons3, and saving them via the Spectrum with normal speed. I still have preserved a copy of "Popeye" where I cracked the turbo loader+related encryption routines, and added a boot menu that asks if I want a normal game play or with infinite lives.
Later on, you also started having in the market hardware interfaces - Multiface one, Micro-Pokeer, that dumped all the Speccy memory for tape with a small initial loader. We knew they existed, but they were too expensive and out of reach for us as poor teenagers. Nevertheless, people used them to break heavily protected games, simply by pressing a button as soon they had finished loading a protected game, often still in the presentation/loader screen, if well timed. The latest pirated games that we got, before we abandoned the Spectrum, where copies of tapes saved with those hardware interfaces. The ones we got were saved in normal speed, and were much easier to copy, even with simple software tape copy programs.
Disclaimer: I wrote a bit later on TAPE2TAP for digitalising Speccy tapes on the PC, and TAPE2TAP assembly routines were used as basis for the tape loader of the Warajevo ZX Spectrum emulator. In 1995, I digitised my entire tape collection to Z80 and TAP files, using my own software, together with a printer port->tape connector.
PS: Tried to save experimental radio broadcasts of Spectrum software in Portugal twice, and whilst some data got in, always got an error before loading the entire program (in the checkum, most probably). But then I lived in almost near line of sight with more than one radio/TV broadcasting antennas for the entire city on the other side of the river for our national channels (and illegal transmitters for Spanish TV channels, but that is a story for another day). So the conditions were less than ideal to save data tapes from radio.