During his nightly TV weather forecast on February 1, meteorologist Phil Connors (Bill Murray) confidently reassures Pittsburgh viewers that an approaching winter storm will miss western Pennsylvania completely. He then sets off with news producer Rita Hanson (Andie MacDowell) and cameraman Larry (Chris Elliott) for Punxsutawney, Pennsylvania to cover the next morning's Groundhog Day festivities. Phil makes no secret of his contempt for the assignment, the small town, and the "hicks" who live there.
On February 2, Phil awakens at his Punxsutawney bed & breakfast to Sonny & Cher's "I Got You Babe" on the clock radio, and tapes a half-hearted report on Punxsutawney Phil and the town's festivities. Rita wants to stay and cover some of the other events; Phil wants to leave immediately. The blizzard, in defiance of Phil's forecast, resolves the issue by blanketing the area in snow and stranding them in Punxsutawney.
The next morning, Phil awakens once again to "I Got You Babe". Strangely, there is no snow on the ground; and the day's events repeat exactly as the day before, to the smallest detail. The following day is another identical repetition; Phil is trapped in a time loop, repeating Groundhog Day over and over. No matter how he varies his routine, trying to break the loop, he awakens every morning to "I Got You Babe" and yet another rerun of Groundhog Day. With no obvious way out—and apparently nothing to lose—he passes the endless, identical days with drunken binges, reckless driving adventures, and one-night stands. He also finds himself increasingly attracted to Rita, but she rejects all of his various seduction schemes.
Now profoundly depressed, Phil's morning report becomes progressively more cynical and offensive, until one day he kidnaps Punxsutawney Phil and leads police on a wild chase before plunging to his death off a high overlook—only to awaken yet again on Groundhog Day morning, listening to "I Got You Babe". More suicide attempts, using every method he can imagine, end exactly the same way. In desperation, Phil confides in Rita, telling her the whole story, and convincing her by correctly predicting each trivial incident as it is about to occur. After a happy day together, they fall asleep in Phil's bed; but he awakens alone to "I Got You Babe", still trapped in the time loop.
At last, Phil realizes that the daily repetition, and his intimate knowledge of every detail of the day's events, can be put to constructive use. He learns to play the piano, sculpt ice, and speak French (or another language in some foreign-language versions) from local instructors. His report of the Groundhog Day celebration becomes so eloquent that all the other reporters turn their microphones to him. After a lifetime of self-absorption, he begins addressing the needs of others. When a homeless man dies despite his best efforts to save him, he begins averting disasters that he stood by and watched many times before. He befriends the townspeople he once shunned and, with the benefit of his unique hindsight, helps some of them through personal crises and steers others toward better decisions. Rita notices his seemingly "overnight" transformation, and is impressed. That evening at the town's Groundhog Day dinner-dance, she "wins" Phil with the top bid at the charity bachelor auction. Phil makes a beautiful snow sculpture of Rita's face, and tells her that no matter what happens, even if he is doomed to continue awakening alone each morning forever, he wants her to know that he is finally happy, because he loves her.
In the morning, "I Got You Babe" is playing on the radio—but the snow is still on the ground, and Rita is still beside him. At last, it is February 3! After Phil explains to Rita why he fell asleep on her the previous night ("It was the end of a very long day"), they walk hand in hand through the peaceful, snow-covered town. "It's so beautiful," Phil says. "Let's live here!"

Question: What happened to keep phil from leaving punxsutawny?
Answer: a snow blizzard
Alternative answer: groundhogs day repeats itself over and over