How often a roof needs to be redone depends on what material it’s made of. The most popular type of roof, asphalt shingles, last 12 to 20 years.