I can't blame WWE or Rock. WWE isn't going to pay someone premium dollars for 3 or 4 appearances a year and Rock has bigger fish to fry with his movie career. I think if anything, WWE should leave the door open if Rock wanted to make appearances, but leave it on a pay-by-appearance basis, not a formal contract.
January 4th 1999 - The day WCW injected itself with 10 gallons of Liquid Anthrax...AKA...The day Hogan "Defeated" Nash to win the WCW title in front of 40,000.
My opinion? I think they should have at least kept him on a retainer and then, as dskillz points out, pay him on a per-appearance basis going forward.
I wouldn't do this as anti-competitive measure (I mean, even IF he ended up on a TNA or Japan show down the road, who cares?), but more as a show of good faith. This way, if he wants to show up at Raw one time to plug his movie, or even wrestle a match, you don't to have start negotiations from scratch and worry about any possible bad blood between the two parties.
In fact, I think they should do that with a handful of other guys, too -- maybe Austin, Foley and Hogan. Again, just as a show of good faith.
All of that is true, including your first point, it would have been a better match. If you want Rusev to do some impressive stuff, or make the dead weight RVD look good or make Cesaro and Sheamus look like world beaters than put Ziggler in there.