The condition of the roof when you aquired the asset will play a big part in the deduct vs depreciate issue.
If it was old and rusty when you bought it, then a replacement will improve and then be a capital cost. If the roof was brand new when you bought it 40 years ago, then repair may come...