Because Charlize is a actually a really good Actress, (Monster, for example) therefore she can play the evil person.
Kristen is not that great, the hero lead role is easier because is simple, you don't need to put across the reason you are doing things, you just have to look good, which she is, the other thing is she is brunette and not blonde, its deemed more 'acceptable' if the underdog heroine is not a blonde, this is because female film watchers will be able to 'emphasise' (Spelling?) with the brunette because even though they are very pretty they are not viewed as attractive as blondes (personally I don't understand this), so they are seen as 'non-threatening'.
Although it is nice to see a shift into positive female leads who can look after themselves, to often they have just been their to look at, or the reason the male lead has to do something.
Its the same reason Hollywood have very few black male hero leads (Will Smith and Denzel Washington aside) because the general viewing target audience (white, middle class, PG) don't sit well with this, which is why the film 'In the Heat of the Night' worked so well and was such an important film, it played on this.
At the same time you can't put a Black actor in the lead evil role, as that will make the same target group feel uncomfortable for cheering on a white man to kill a black man.
You will get a very positive black role, but they will 'prove themselves' by either dieing for, or helping the main white male lead achieve something, its referred to as the 'magical negro' (The Green Mile is a good example), and the reason upper class English people always play bad guys.
Its amazing how much time and money is spent on this type of research by major motion picture studios.
went a bit OTT on that!