What's actually happening
That red button on the bottom of your disposal is a thermal overload breaker. It pops when the motor gets too hot or draws too much current.
When it won't stay pushed in, it's telling you the problem is still there. The button can't latch while the motor is faulted.
So the button isn't broken (usually). It's doing its job by refusing to reconnect power to a motor that would just overheat again.
In summer, I get more of these calls. The disposal sits in a warm, closed cabinet, kitchen temps run higher, and a motor that was marginal all along finally hits its limit.
Good news: the most common cause is a simple jam you can clear yourself in about five minutes.
Why the reset won't hold
Start with the most likely and work down. Don't skip to buying a new unit until you've ruled out a jam and an overheated motor.
A jam is the number one cause. A pit, a bone, or a stray spoon wedges the flywheel and the motor can't turn. The overload trips the instant power hits it, so the button won't stay in.
Overheating is the summer classic. Back-to-back grinding on a hot day pushes the motor past its cutoff. The button won't reset until it cools, which is why waiting matters more than you'd think.
Then there's a worn-out motor. Older units draw too much current on startup, which trips the overload immediately even when nothing's stuck and the unit is cool.
Least common are a worn-out reset button, a bad thermal switch, or a wiring issue on the circuit. These come last because they're rare on residential disposals.