It depends on the extent of the damage. If you just have a leak and the roof is not old, repairs may be sufficient. If you have broken, missing or cracking shingles, a repair may be sufficient. However, if the roof is reaching the end of its service life or has multiple leaks, it likely needs replacement.