i Dean and thanks for your question. Your question is in the general category, so if you need expertise beyond what is provided here please ask to have the question moved to another category (ie law).
Speaking from experience as a newly constructed home owner, the contractor would only be liable if the leak is due to defective workmanship (ie flashing or shingles missing) and there are often time limits on these types of claims (typically less than 3 years). If there are no defects and it was just shoddy work, there is a chance you could sue your contractor (for his insurance company to pay), but this would likely only cover any damages caused by his poor workmanship (ie damage to floors from water dripping down) and not the actual cost of repairing the roof.
So to clarify: Unfortunately, poor workmanship by a contractor typically has no recourse and is not covered by contractor insurance or home owner insurance. If you feel you have a pretty strong case to prove that the leak is caused by poor workmanship (might be hard to do 10 years out), you will have to hire another contractor to fix the roof (since your original contractor will not fix it), and hire an attorney to sue the original contractor for that expense. If you were to win in court, you have an additional hurdle of having the judgement paid. This could be another major challenge because if he has no money, you then have to place a lien on him and may never recoup your losses.