Machine learning is somewhat unique in the software world in that the actual useful artifacts are not necessarily strongly tied to the source code itself. You can have the identical source code running at two different companies, but by supplying them with two different training sets, you'll end up with very different outputs. That's what algorithmic destruction is targeted at--not even necessarily the source code or algorithm in the technical sense (you can't destroy "KMeans" or "convolution" as a concept, obviously), but both the data and the model weights that are produced through the use of that data that are used in perform a business action. Those weights are typically stored separately from the source code, and can be extremely expensive to re-create from scratch.