Your insurer must pay claims when the terms of the policy and the facts of the damage indicate they have to pay. If they refuse to pay when you think they should, you could sue them for "breach of contract"--for violating their contractual obligation (insurance policies are contracts). If you can prove that given the terms of your policy and the facts they should have paid, you can get a court judgment or order requiring them to pay. For a claim like this, you would likely need a written report and testimony from a roofing contractor or some similar expert, to be able to testify based on training and experience as to the cause of the damage.