Katie Cassidy's Ruby was better because quite simply she was a better actress. Or at least a better fit for the role. You couldn't really tell which way she would go next. She had a few moments of humanity and sympathy, she helped the boys in a few tight spots, but there was always some hints that maybe, just maybe, there was something else going on... but again, you couldn't really tell if it was true or not.
Genevieve Cortese portrayed Ruby pretty much like pratty teenager. Even her final speech sounded like an attention craving teen, who didn't get the birthday present she wanted even though she was supposed to be talking about the friggin' end of the world. I can't really imagine Cassidy saying the same stuff and feeling that, yeah, it is the same character.