The life of a roof depends on the material and style. You can expect a tile roof to last 20-30 years. Flat roofs can last up to 15 years.