If I publish my trade secrets in a patent, surely it will be copied and the cost of litigation will be on me. Microsoft is a good example of a patent vampire. I did look into registering a US patent from South Africa but decided against it
There are certainly merits to each. Keeping something a trade secret is great if you can, well, keep it a secret. That means a couple things: you want to make sure you don't tell anyone who will tell anyone, and you want to make sure that your invention can't be reverse engineered. A classic example of a trade secret is the Coca-Cola formula. You can drink as much Coke as you want, but you won't come out suddenly knowing the formula.
The most a trade secret can do is help with litigation if someone maliciously tells competitors your process. That means that if an employee of yours leaves and tells a competitor how to do whatever you want to do, you'll have no hope of recovering the secret and it will forever be public knowledge. You'll be able to sue the former employee, but that's likely not going to replenish your financial loss. On the plus side, a trade secret can last for as long as you can keep it secret. There's no expiry date on a trade secret.
On the other hand, yes, patents let you (or force you, rather) to publish every intimate detail about your invention in exchange for an exclusive usage license for a set number of years. That gives you the most protection, and although the cost of litigation can be heavy, it's likely not to be a big issue unless your field is very busy with harsh competition. And if that's the case, a trade secret will likely not suffice anyway.
So it's really a business decision and inherently subjective. It depends on what kind of thing you're looking to protect, as well as how much you expect to make from it.