The way parallel port programmers work is by toggling specific pins high and low, in real time, to create a controlled syncronous serial port - under DOS or 16 bit Windows you could do this directly, and with a decent degree of precision. But 32 bit Windows (NT based) prevents direct hardware access, for good sound security reasons, so you need to use a port driver in order to access the ports - this adds an extra layer, beyond the programmer softwares control.
Now if you add a USB/Parallel converter you are adding multiple extra stages, with a slow interface in between - USB is only fast when sending multiple bytes, for single bytes it's really VERY slow - and we're talking single bits, never mind bytes!.
Circuits are freely available for ICD2 clones, as is the Inchworms, you copuld always build your own clone from scratch, no need to order a complete kit or even PCB - but you would need to design your own PCB layout.