Some things to note: First, Agility is much better for Rogues, Shaman, and Hunters) than it is for other classes because it adds AP as well as crit (and dodge, but that's not relevant to this discussion).
Second, haste is better in direct proportion to your ratio of white damage to yellow damage; in other words, your specials don't get any speed increase or cooldown reduction from haste. If you're doing 60% of your damage from your base melee hits alone (including any procs that can occur off of them, like Sword Spec, poisons, etc.), then 1% haste is effectively worth a 0.6% increase in overall DPS. A good damage meter can reveal these numbers.
Third, as Tara observed, armor penetration in its current incarnation is dramatically superior against low armor targets because it reduces their armor by a much higher percentage than against high armor targets. As a direct result, the more you have, the more effective each point is. To see an example this, compare your physical DPS versus Void Reaver to your DPS versus Shade of Aran (well, Shade also doesn't dodge or parry while casting, but I'm talking about the magnitude of each hit).
Now, there is a change coming in 3.0: armor penetration on gear is turning into a rating just like crit, hit, etc.. This rating will reduce enemy armor versus your attacks by a percentage, scaling with level. This shouldn't hugely affect DPS; what it will do, however, is make armor penetration equally effective against high armor and low armor targets. Someone will have to theorycraft this out to compare it with other ratings in terms of effectiveness.
However, my Paladin has Executioner on his Stormherald, and I can attest that the proc from the enchant is not a rating in 3.0, but is in fact the full 840 points or whatever it gives on live. Whether this is an oversight or intended is something I don't know - perhaps it'll change in a future patch.
Nevertheless, it's still apparently better to have the enchant when attacking low armor targets.