Terracotta and concrete are both durable in their own right. They wouldn’t be used for roofing at all if they weren’t — but there’s no question about it. Metal stands head and shoulders above both its competitors.
To put it plainly, a well-constructed metal roof can last up to 100 years. The advantage of this is obvious. Unless you choose to replace it on your own terms, you will almost certainly not need to re-roof your home again. You can also maintain metal very easily, especially if it’s coated.
Naturally, specific individual metals will fare differently, but they are still universally stronger than other roofing options.