Anita "Needy" Lesnicki, once an insecure and bookish teenager living near Devil's Kettle, Minnesota, is now a violent mental inmate who narrates the story as a flashback while in solitary confinement. She has been friends with a selfish and popular cheerleader, Jennifer Check, since childhood, despite having little in common. One night, Jennifer takes Needy to a local dive bar to attend a concert by indie rock band Low Shoulder. A suspicious fire engulfs the bar, killing several people, and Jennifer, who is in shock, agrees to leave with the band despite Needy's protests. Later that evening, Jennifer, covered in blood, appears in Needy's kitchen and proceeds to eat food from the refrigerator. Unable to digest the matter, she vomits a trail of black, spiny fluid and then leaves in a hurry as Needy calls after her.
The next morning at school, Jennifer appears fine and shrugs off Needy's concerns. While the whole town is devastated by the deaths caused by the fire, Jennifer seduces the school's football captain in the woods and then kills him; his disemboweled corpse is later found. Meanwhile, the members of Low Shoulder gain popularity due to their rumored heroism during the fire and offer to make a charity appearance at the school's spring formal.
A month later, Jennifer is beginning to look pale, and accepts a date with school goth/emo Colin, whom she brutally kills that night. While Needy and her boyfriend, Chip, have sex, Needy senses something dreadful has happened. She leaves in a panic and almost runs over Jennifer, drenched in blood. At home, she finds Jennifer in her bedroom. Jennifer kisses her, initiating a brief makeout session, and soon explains what happened after the fire: Low Shoulder took her into the woods and offered her as a virgin sacrifice to Satan in exchange for fame and fortune. Although the sacrifice and greedy exchange were a success, Jennifer was not a virgin, and when lead singer Nikolai murdered her, the ritual backfired and a demonic spirit took over her body. Unbeknownst to Needy, Jennifer also encountered Indian exchange student Ahmet after the fire and, upon hearing that no one knew he had survived, took him into the woods and ate him, rendering him her first victim. Jennifer states that she can withstand virtually any injury without pain and is rather difficult to kill.
At school the following day, the town is stunned by Colin's death. Needy goes to the school library's occult section and surmises that Jennifer is a succubus; she is weakest when she is hungry, and must feed on flesh in order to sustain her life and appearance. Needy tells Chip about her discoveries and warns him not to attend the school dance. He does not believe her and she subsequently breaks up with him in order to protect him. Chip still goes to the dance, hoping to meet with Needy, but is instead intercepted by Jennifer, who seduces him and takes him to an abandoned pool house. Needy arrives there and finds Jennifer feeding on Chip. Needy tries to drown Jennifer but Jennifer, hovering in the air, attacks her. She is then stabbed by a fatally injured Chip with a pool skimmer. Jennifer escapes while Needy watches her boyfriend die.
Needy decides she must kill Jennifer for the common good. She goes to Jennifer's home and sees her, already recovered, picking out her next victims in her yearbook. Crashing through the window, Needy engages in a fight with Jennifer wielding a box cutter. Culminating with a stab to the heart, Needy finally destroys the demon and kills her. Jennifer's mother enters and finds Needy with the box cutter on top of her daughter's body. Soon after, Needy is brought to an asylum. Since she was bitten non-fatally by Jennifer, she has obtained some of Jennifer's supernatural powers, such as the ability to hover in the air. Set upon revenge for what was done to herself, Jennifer, and Chip, she escapes the mental facility and hitchhikes a ride to the hotel where Low Shoulder are staying; there, she slaughters the members, whose killings are later discovered by local authorities.
Output: Why did the ritual fail?