A properly maintained shingle roof can last 20-30 years, depending on the quality of materials and weather conditions.