It's based on how much of a given resource is present. The figures I get from plugging numbers into Angel and what I can recall from experience are roughly (assuming ideal nw range):
Rob vaults: 1 thief per 765gc (no relations, cap ~5% of total stock), 1 thief per 600gc (war, cap about ~14% of total stock)
Rob granaries: 1 thief per 300 bushels (no relations, cap ~31.5% of total stock), 1 thief per 240 bushles (war, cap about 46% of total stock)
Rob towers: 1 thief per 85 runes (no relations, cap ~21.3% of total stock), 1 thief per 60 runes (war, cap ~36% of total stock)
Kidnap: 1 thief per 5.5 peasants (war, cap 4% of total stock). There is also a hidden 50% gains penalty for kidnapping someone with low peasants/acre, this needs to be tested but it's been shown to exist. Don't bother outside of war, the gains are too terrible to waste your stealth, and the cap is like 1.4%
.
Nightstrike (soldiers): 1 thief per 5 soldiers (war, cap 13% of total stock)
Nightstrike (defspecs+offspecs): 1 thief per 5 specialists (war, cap 0.55% of total stock). Defspecs and Offspecs are affected by the same cap; add the number of defspecs and offspecs to determine the cap you're trying to reach when kiling specs.
Nightstrike (elites): 1 thief per 4 elites (war, cap 0.3% of total stock)
Soldiers, defspecs, and elites are killed on the same operation, but have seperate caps for each. I am not positive how the presence of one affects kills for the other, and I'm pretty sure these values are off, but they are close to what you should be sending to reach cap. By the way, NS doesn't care whether the troops are at home or out.
Steal Horses: 1 thief per 1.8 horses (peacetime, cap ~6.3% of stock), 1 thief per 2 horses (war, cap 6.8% of stock). The damage inflicted is twice what you take for yourself. Only horses at home can be stolen.
Arson: ???, approximately 3 thieves per target acre I think gets the cap on gains. It's not very strong though. Barren acres are included in basic arson if I'm not mistaken, so your gain will be constant but reduced by whatever % is barren.
Sabotage Wizards: ???, damage is based on how much mana the target has. In my rough experiments a while back, sending 2 tpa (target's acres) tends to get good returns at high mana levels, and it takes 16% of the target's mana in one op (so naturally, not worth it if your target has less than 32% mana).
Assassinate Wizards: Formula is in the guide somewhere. Cap is around 1.4% of the target's wizards, but since you can't see wizards outright, you'll either have to calculate the target's wpa or send until you find the cap.
Incite Riots: ??? but sending 4*target's acres is usually enough to get good duration on riots. The returns on this op have a significant random factor, with the lower end about half of the upper end. However, sending under the cap will have a linear effect. Practically speaking, you shouldn't waste your stealth on anything other than a long-duration Riot, since it's purely a holding action. Riots is surprisingly easy to land in my experience.
Propaganda: ???, has no known cap but the gains are highly random. Usually, sending 4*target's acres gives a significant portion of the target's specialist troops. Offense and Defense specialists are targetted seperately. Most people just send all for the best gains, but if you need to conserve tpa it's fine to send 3-4 of your tpa in order to limit losses and improve success rate. A Propaganda that takes defense specialists is incredibly strong, as I have observed props 5-6x as effective as a nightstrike; therefore, you have a reasonable chance of coming out ahead using Propaganda instead of NS when targetting defense. Propaganda is incredibly hard though, and thief losses are higher with the more difficult ops. You can only propaganda troops at home, so usually elites are an empty gain unless propping a t/m.
How do racial mods of farey and avian effect? Does it increase the cap or lower theives count?