The lifespan of a roof depends on is the material it's made from. Shingle roofs will last 15-35 years depending on the type of shingle. Metal roofs will last 30-70 years or more depending on the type of metal and continued maintenance. TPO roofs will last 15-25 years depending on the thickness of the material and amount of foot traffic. Of course, roof life can also be cut short by wind and hail damage or other natural disasters. This is why it's important to have a good insurance policy in place to protect yourself against these unforeseen events.