A roof can last anywhere from 10 to 50 years, depending on the material used, local weather conditions, and the maintenance it receives.