The amount of units converted into pigs does not depend on the units’ armor ratings (hack/peirce/crush), cost (gold, wood, food, favor) or their population cost. It does depend on the unit’s health (and, as stated, if the targeted units are villagers), but it is unknown if it depends on other factors as well. The amount of units converted into pigs is always at least 3, and at most 9.
The exact amount of units converted by Curse is not random, but it follows an unknown formula. For example, when Curse is cast on a group of units with 224 health each, 4 units are converted, and when cast on a group with 225 health, 3 units are converted. This would suggest that the maximum amount of health that can be converted must be 899 or less (because 4*225=900). Based on this logic, using Curse on a group of units with 166 health each would result in 5 pigs. However, this number goes down to 4 when cast on a group of units with 169 health each.
The total amount of health converted into pigs have been observed to range between 600 and 996 when cast on military units - casting it on villagers results in significantly lower numbers.
It is effective at thinning out an enemy force, and if the pigs are captured, it provides an extra food source. This power can be used both offensively and defensively.