When should I use from?
His company suffered a setback. Vs His company suffered from a setback.
She suffered from a heart attack. Vs She suffered a heart attack
I realise that sometimes either is ok but are there any rules?
If you use suffer with a direct object, you are generally referring to a single negative experience. For example:
Suffer from, on the other hand, is generally used when referring to the continuing consequences of a negative event or experience:
The above are general principles for distinguishing the two terms, but there are counter examples in actual usage. For instance, this Google Ngram shows "suffered from poverty" as the more usual phrase, but not significantly more common than "suffered poverty".