What's actually happening when a GFCI won't reset
A GFCI won't reset because it's sensing something wrong and refusing to hand power back to the circuit. That's the design working, not failing.
The device constantly compares the current going out on the hot wire against what returns on the neutral. When even 5 milliamps go missing (leaking to ground), it trips in a fraction of a second.
So when the reset button won't hold, one of two things is true. Either the fault is still present, or the outlet itself has died and locked out.
The good news: you can figure out which one it is in about ten minutes without any tools.
The catch: if the fault is real, chasing it down can mean checking outlets you didn't even know were connected.
Why GFCIs suddenly refuse to reset
The single most common reason is a real ground fault in something plugged in. A space heater with a frayed cord, a hair dryer that got wet, a sump pump with a failing motor. Any of these can leak current the moment they get power.
Moisture is the runner-up, especially on exterior and bathroom circuits. Water inside a receptacle box bridges the contacts and looks exactly like a ground fault to the GFCI.
Then there's plain old age. GFCIs are electronic devices, and their sensing circuits degrade over 10 to 15 years. Units made after roughly 2015 are required to self-test and lock out if they fail that test, which shows up as a button that simply won't reset.
Less often, the problem is wiring: a reversed line and load connection, a loose neutral, or physical damage to a cable somewhere in the wall.
The order you should suspect them in: plugged-in device, then moisture, then a tripped upstream unit, then end-of-life, then wiring.