I'm an insurance agent. I have a local public adjuster's info handy on my phone. I would refer a client to him without hesitation if a claim was going sideways because I know he's good at what he does and fair in the way he adjusts a claim.
The problem is that the systems of adjusting a claim have progressively changed, become more automated, and grown increasingly susceptible to data-driven generalizations that often work against the Insured. In general, younger adjusters have less training in real-world damage analysis and can be too reliant on automation. This can be an issue with an insurance company adjuster, and it can also be an issue with a less experienced public adjuster.
There are good, well-trained, ethical adjusters working for insurance companies. On the other hand, some insurance companies do encourage adjusters to control claim costs, and some make you work harder than others for your settlement.
An experienced public adjuster - someone whose knowledge of insurance precedes automation, someone who knows the law inside and out, and someone with a long list of quality references - will be able to assess your claim and compare it to your coverage reasonably. It may be that your roofer is wrong, but if you're getting shut down on a claim you should get a second opinion. And it never hurts to have a good public adjuster in your contact list.