My sense is that the corporate decisions are easier because they're depersonalised, but I don't see much of a moral distinction between the two.
Clearly there's a difference in the directness of interaction when it's a person or a company. But speaking personally I would never compromise my core ethical beliefs (which include not working in an environment where gay people are executed because of who they love and secret service agents are sent to kill critical journalists overseas) just so my company could make more money.
This isn't to say that I don't think politicians shouldn't talk to those regimes, but that feels quite different.