I'm a huge fan of GOG. My retail copy of Witcher 3 is linked to my GOG account.
Idealogically, I would prefer to buy all my games through either GOG or Humble Bundle as they offer titles DRM-free (caveat: not all Humble purchases get a DRM-free copy).
However, Steam has also demonstrated a willingness to support the South African market directly by accepting rand. Not only are games on Steam cheaper for South Africans as a result, you also don't have to pay that infernal 2.75% currency conversion fee when purchasing via credit card.
So I'm torn: do I support the platform that supports South Africa (Steam), or the one that is more pro-consumer (GOG)?
In the end pragmatism wins for me, and I usually end up buying on Steam. If I'm buying a game at launch, I try to support our local merchants as much as possible and get a retail copy.