First of all, where do souls come from? If you look at the population, obviously there are a lot more people now then there were hundreds of years ago. Where do the new souls for more people come from? Are there souls that have never been here? Do they all start at the bottom and work their way up so we have to deal with all the bad just to teach new souls every time we're here?
Which then leads me to the title question. If we've all been here so many times, why are there still so many bad people doing so many bad things? Wouldn't you get the drift by at least your 5th or 6th time?
I'd just think that eventually after people coming back time and time again, the good would have to start outweighing the bad and instead things actually seems to be getting worse.