What it came down to, was that Cantor had to go negative on Bratt, and he used a huge amount of money to paint Bratt as a lib college professor who worked with Dems on a commission to raise VA income taxes.
The problem was that there were many outlets that called foul on this tactic, mainly because it wasn't true. The miscalculation that Cantors team made was that every time one of these dishonest ads were run, it would piss off the folks that were paying attention and make it more likely that they would go to the polls and express their displeasure.
In a general election there would be enough low information voters to cover this fault as most would vote for Cantor because they voted for him last time. But in a primary, the low info voters don't show, so it mostly the folks that care that vote and that's why Cantors polls were so lopsided verses the reality when they counted the votes in the box.
I don't know if the Roberts race has anything in common with the Cantor/Bratt race, but if it doesn't, I wouldn't expect the same result.