Because Emma Watson is naturally pretty and wore makeup and had her hair de-frizzed, dyed blonde, and done up for the movies. Book Hermione had frizzy not sleek curly hair, that was actual brown, bot blonde. She didn't wear makeup except on special occasions, such as the yule ball and at Fleur and Bill's wedding. Book Hermione was unattractive with her buck teeth, then better looking after she got rid of them. She only was seen as attractive when she got rid of her buck teeth, de-frizzed her hair, wore flattering gowns and did herself up for the yule ball.