To present it differently: one has sword (10 damage) and sword+1 (11 damage) - looks like sword+1 is 10% stronger than sword. However, if the monster has 22 HP, sword+1 will kill it in 2 hits, while doing same thing with just sword will require 3 hits - that's 33% more, not 10%. Quite a difference and game balancing is full of such cool and weird shit.
It's 50% if that's how you want to put it. when sword A has swung 6 times it has killed two monsters, and sword B has killed 3, an increase of 50%.
The problem with presenting it in this way is that if the hp value swings between 1 to 50 at random (not an ideal example but work well enough for the point I want to make) then it won't make a difference which sword you use at hp values 1-10, 12-20, 23-30, 34-40, and 45-50, it only makes a difference if the monster has 11, 21, 22, 31, 32, 33, 41, 42, 43, or 44 hp, which is a total of 10 times out of 50, or 20% and the other 80% of the time, it does nothing.
at 11 you kill things twice as fast (1 swing vs 2 swings)
at 21/22 you kill things 50% faster (2 swings vs 3 swings)
at 31/32/33 you kill things 33% faster (3 swings vs 4 swings)
at 41/42/43/44 you kill things 25% faster (4 swings vs 5 swings)
as you go up higher than this you get the bonus more often, but the speed increase it provides lowers. In this particular span the average increase you get on those 10 health values is 40%, but it only lands on one of those 10 values 20% of the time, so in the end your average increase is 8% (if the range was 1-60 it would be on a bonus 25% of the time, and the average increase when it does would be 33%, for a total average increase of 8,3% so changing the range doesn't alter much). This math is far from flawless of course, and I probably made mistakes too. I agree that game design has a lot of cool quirks to it but I don't think this is a good example to use for this scenario because it's more applicable when you know exactly what values you work with, or at least the exact ranges and how frequently those ranges occur. In other cases you have to work with averages, and also take into account what effect the consequence of failure is because chances are when you fail to get the exact tech you'd ideally want, you still get something good that produces a non-zero value for your empire.
A good game to use examples like this would probably be something like Starcraft 2 where you work with exact values and can say that a +1 increase in damage on a certain unit allows it to kill a certain unit the enemy uses that you're trying to counter in two hits rather than three, and as thus produces a disproportionately large increase in efficiency compared to the actual increase in damage output.
Overall I think what the civic mostly achieves is reducing the amount of times where you feel really screwed over by the random nature of techs, and better allows you to pursue your vision of what you want to do, rather than being as much of an efficiency increase than one might think.