A good roof can last anywhere from 20 to 50 years depending on the type of roofing material used, the quality of the installation, and how well it is maintained.