Five usual sources, ordered by how strongly Grand Rapids's own weather and housing record points at each.
An old roof wearing through
Shingles go brittle, sealant dries out and a second layer hides the real condition of the deck. When leaks appear in several rooms, the roof may be at the end of its life, not just one spot.
In Grand Rapids: 75.3% of homes here were built before 1980 and the median home dates from 1953. That is #26 of 209 cities we cover.
Flashing and seams
Water follows the metal around chimneys, vents, skylights and wall joints before it ever reaches a shingle. A stain that sits right under one of those points to the flashing or its sealant.
In Grand Rapids: Grand Rapids has about 96 freeze-thaw days a year, the expand-and-shrink cycle that pulls those joints apart. That is #42 of 209 cities we cover.
Lifted or missing shingles
Wind folds a shingle back and breaks its seal; the next rain goes under it. From the ground you may see a bare strip, a flapping tab, or granules and tabs in the yard after a blow.
In Grand Rapids: NOAA logged 53 days with 58 mph or stronger thunderstorm wind in the county since 2014, and a peak gust of 100 mph.
Hail bruises that open later
A hailstone can crack the mat under the granules without a visible hole. The roof sheds water for a while, then leaks weeks or months afterwards, often in the first hard rain of the next season.
In Grand Rapids: Hail of 1 inch or larger fell on 12 days in the county's NOAA record; the largest stone was 1.75 inches.
Heavy rain finding a weak spot
Exposed nail heads, a worn pipe boot or a low-slope section only fail when a lot of water arrives at once. If the leak shows only in downpours, look there first.
In Grand Rapids: 4.6 days a year bring an inch or more of rain here, out of 38.7 inches in total.