It can be just about anything. Disease, bad parameters, high flow, starvation, pests etc. Often a combination of those things....like bjd which seems more likely to impact a stressed or damaged coral but then spread to otherwise healthy coral.
Anytime I have unhealthy looking hammers or torches I usually dip and look for pests(specifically polyclad flatworms) and then give it a high dose of antibiotics(in a bath floating in tank to keep it at temp) for anywhere between 8hours and 3 days(changing water/antibiotics at least twice daily)