On average, a roof needs to be replaced anywhere after 15-50 years, depending on the material used, ventilation and climate factors like humidity, heat and cold. Getting a roofing contractor to perform a roof inspection every couple of years is recommended to see what condition your roof is in and tell you if it needs to be replaced.