Depending on the roofing material and how well it is maintained, a roof can last 20-30 years in Texas. Metal roofs and tile roofs are more durable than shingle roofs. All roofs eventually will need to be replaced because of wear and tear. While proper maintenance can extend the life of your roof, it is important to remember that all roofs eventually need to be replaced. Ask about the warranty policy of any roofing contractor you are considering hiring.