With annual maintenance and care, an asphalt shingle roof will last between 15 and 20 years. A well-maintained metal roof lasts anywhere from 40 to 70 years but costs more to install initially.