The lifespan of a roof varies depending on the material used. Asphalt shingles generally last 20-30 years, while metal and tile roofs can last 50 years or more with proper maintenance.