Justine goes through many changes, extreme and subtle, within the books and throughout the series.
In Grave Peril, when Harry Dresden first meets Justine outside Bianca St. Claire's ball, she's wearing a flower petal costume that barely cover her and baby's breath in her tumbled mass of black hair. She had a face that made her seem sweet and lovely. She looked like she was on something.
Later, captured by the vampires, she was a dirty gaunt mess with feral, unsettling eyes - partly as she has been fed upon by members of the Red Court. She says she's always like this only Thomas Raith "makes it quieter", she doesn't have the control other people have. Leonid Kravos, possessing her, says it's her ranting emotions that make the White's love her so much, she's mad with emotion.
In Blood Rites, at the beginning, she appears to be not quite drinking age, dark hair, dark eyes, a little taller than average. She wore a white sweater and a short black skirt over a lot of leg, she was a knockout. Raith reacts to seeing her with relief like a sailor lost at sea spying land.
Later, after Justine barely survived Raith's feeding, Bobby has to carry her. She has silver-white hair with some grey, her limbs hung limply, and very thin, her skin was unwrinkled, her pallor was near death.
In Turn Coat, in an early scene at Zero, she has a girl-next-door face, her silver-white hair was held up in a bun by chopsticks and she wore a full white form-fitting rubber cat suit that covered almost everything, including her hands. Later she has her hair in a long tail and is wearing a grey business suit.
Justine is a beautiful slim girl, who is in love with Thomas Raith. Raith loves her back, but true love burns him, so they can never be together. To Raith, she appeared to be just food when she was originally introduced in Grave Peril, but since then, she has nearly died, been restored.
Justine, being close to Lara, has been working undercover for Harry Dresden getting him information on the White Court's activities from time to time, to help with the new Paranet Dresden puts together.
In the series
In Grave Peril, Harry Dresden meets her outside of Bianca St. Claire's ball with Thomas Raith. During the Ball, while Raith is receiving Bianca St. Claire's gift and things are getting dangerous, she tries to coerce Dresden into helping them get out. He eventually agrees. During the battle to rescue Lydia from death and Amoracchius from ruin, Justine is snatched by Bianca, then used to force Raith into betraying Dresden and friends. Dresden helps Justine and Susan escape. 
Later, Dresden wakes in the same locked room with Justine looking very feral. She scratches Dresden on his cheek, watches him on all fours. Justine says she's always like this, that only Raith can "makes it quieter". She was bitten by vampires several times. After a while, Kravos inhabits Justine to taunt Dresden. He says her raging emotions is what make the White's love her so much. Afterward, she cries and Dresden comforts her.
In Blood Rites, Justine willingly and with love offers herself to Thomas Raith who is badly injured and needs to feed or he'll die. It is likely that she will be the one to die instead of him and she knows it. She also believes it's possible that he'll stop in time. She just can't turn her back on him. Later, Bobby and Inari bring her out to help locate where Raith has been taken. She identifies his location as the Deeps. Her hair has turned silver-white and she's so frail she can barely point.
In White Night, Justine led Harry Dresden and Carlos Ramirez through the entrance to the Deeps to a spot where Dresden to Listen and decide when to make his entrance to the White Court Conclave, she seems oddly disconnected. Later, Thomas Raith tells Dresden that she's been working to get close to Lara Raith and that she could help with the new Paranet that Dresden is putting together to. She's already getting info to Raith, small stuff. It's the reason she seemed so odd at the cave, she's pretending to be a puppet.
In Turn Coat, Harry Dresden asks Thomas Raith to enlist Justine in getting information on what the vampire courts know about the manhunt on Donald Morgan. Raith freezes, then makes Dresden promise to not to use any information that can be traced back to Justine, to not put her in anymore danger.
At Zero, she is covered in a white plastic cat suit that even covers her hands. She and Raith entwine themselves together, he's on his knees before her, she's bent hugging is neck. After their long embrace, Justine gives Dresden a copy of a wanted poster on Morgan that was posted on Craig's List. Shortly, Madeline Raith shows up. She threatens Justine. Raith pins her to a table using the chopsticks that held up Justine's hair. He holds her down and lets Justine kiss Madeline's forehead and Justine's hair runs along her body, burning her. Madeline screams.
Later, Dresden sees Justine at the Raith estate in her capacity as Lara's assistant. During the Skinwalker's attack on the Raith estate, she reports the status of security and family members. The next minute Justine is severely clawed across her abdomen by the Skinwalker. In the estate's infirmary, Justine says she heard the Skinwalker say it has Raith. Dresden promises to get him back. She tells Dresden that Raith loves him and he always worried that he comes from a different world. That he wouldn't know enough about being human or being a br(other). Dresden cut her off because Luccio could hear it all. Justine also tells Dresden that he's like family to her, that he always cares. After they get Raith back, Dresden asks how she might feel about his succumbing to his inner demon. Dresden's sure her touch still burns Raith.
In "Even Hand", Justine seeks sanctuary from Gentleman Marcone, who grants it when the Fomor Mag breaks in his office and tries to get her back as his property. In the ensuing fight, the office and the building it is in are destroyed, but Mag and his minions are killed. Justine is allowed to get back to Lara Raith with the warning that she is not the best tool for certain missions.
In Cold Days, Justine is kidnapped, among others, by the Redcap to prevent Harry Dresden to get to Demonreach before the completion of the attack the island is subject to. She joins his team in the expedition to Demonreach, playing no further role in it.
In Peace Talks, Justine is mentioned as being pregnant. Under the influence of Nemesis, she threatens to kill herself and her unborn child if Thomas Raith does not attack Etri, so he complies. In the aftermath, she feigns concern and ignorance over why Thomas acted as he did. Dresden has Goodman Grey watch over Justine which later results in conflicts between Grey and Lara's security team.
In Battle Ground, Lara Raith insists that Harry Dresden take Justine to see Thomas on Demonreach. Dresden agrees, and rides on a unicorn with Justine to the harbor before sailing out to the island. However, Dresden surmises that Justine is infected by Nemesis and truly seeks to gain access to the Well beneath Demonreach, in order to deconstruct the prison and release the thousands of horrors contained there. Justine admits to being infected, and to have been since she started getting close to Lara Raith, Nemesis' plans throughout recent events, and even reveals Nemesis' true name, He Who Walks Beside. Justine then tries to kill Dresden, but he escapes into the waters of Lake Michigan, and Demonreach carries him to safety. Exposed and without options, Justine flees into the unknown.
Word of Jim
Thomas and Justine’s relationship is really weird. I know what the relationship is in my head like right now. They’re actually happier now than they’ve been in ever. But it’s all happening behind the scenes and nobody can see because Thomas has to have his bad ass vampire face on whenever he’s in public. But when they are alone together, nothing else going on, they’re like totally cute. Justine wears like these grownup version of footie pajamas so that she can snuggle up next to him on the couch and watch TV without actually burning him. They don’t have like a normal relationship or anything like one, but they’ve kinda adjusted, they’re fairly happy. You don’t go around letting the other vampires go ‘Oh how cute.’ I’ll have to get to that one of these days, Harry doesn’t see that.— Jim Butcher on Justine and Thomas Raith’s relationship.
- Grave Peril, ch. 24
- Grave Peril, ch. 34
- Blood Rites, ch. 3
- Blood Rites, ch. 37
- White Night, ch. 36
- Turn Coat, ch. 8
- Turn Coat, ch. 24
- White Night, ch. 43
- Turn Coat, ch. 3
- Grave Peril, ch. 29
- Grave Peril, ch. 30
- Grave Peril, ch. 37-38
- Blood Rites, ch. 19
- Turn Coat, ch. 9
- Turn Coat, ch. 25
- Turn Coat, ch. 49
- "Even Hand"
- Cold Days, ch. 37
- Cold Days, ch. 39
- Cold Days, ch. 15
- Peace Talks, ch. 1
- Battle Ground, ch. 35
- Peace Talks, ch. 10
- Peace Talks, ch. 23
- Battle Ground, ch. 36
- Jim Butcher Mysterious Galery Q&A @5:10