How long should a roof last?

At least 50 years. After this time you are looking at increasingly regular roof maintenance to keep the roof watertight. It’s not the tiles that wear out, typically it is the roofing felt, mortar and fixings - all of which are critical to the weatherproofing of the roof.