Since the expansion is effectively coming to a close and Cata is on its way, I figured I'd expose two fairly major bugs regarding warrior DPS that I haven't seen mentioned before.
#1: Offhand swings that land while HS or Cleave is queued do not suffer the DW miss penalty. They're treated as if you were single wielding when the swing lands.
Example of 0 OH misses during simple target dummy experiment queuing HS before each OH swing lands:
imgur: The Simple Image Sharer
Example Saurfang parse with 1 melee miss over the course of the fight(possible if I couldn't HS every swing or re-queued HS late, likely at the start of the fight and execute range):
World of Logs - Real Time Raid Analysis
The bug has 2 important impacts on itemization. The first is that hit rating past the soft cap is far more useless than most TC imagines. I glanced through a lot of my logs and saw miss rates at about 25% of what they should be on average. Simulating the bug only occurring on about 75% of swings gives it an SEP of .1 SEP or less most of the time. The second impact is that the crit soft cap has a fairly negligible effect since it only comes in to play on those swings that the bug doesn't affect. The crit cap on swings when the bug is in play is an unreachable 1-.24+.048 = 80.8%.
How you deal with the bug depends on your weapon speeds. The ideal situation is your OH swing landing just prior to your MH swing, since this gives you the most time to re-queue HS each swing. The worst situation is your OH landing just after your MH, since you have almost no time to re-queue HS after your MH lands and before your OH lands. If your MH is slower than your OH, you will be in the ideal situation most of the time(3.7/3.6 shadowmourne/anything weapon setup is perfect).
With those weapon speeds as an example, your first swings when you engage a mob will be simultaneous(which usually makes the bug's occurrence random, happens about 50% of the time with synced swings). Then, your OH will land after 3.6s, with your MH .1s later at 3.7. The next round of swings, your OH will land .2s before your MH, then .3s, etc. It does a full cycle back to simultaneous swings when your OH swings 37 times to your MH's 36. If you bind HS/Cleave to mousewheel, you'll be able to get the queue done in time up until your OH is landing about .5s after your MH, or for about the first 29 swings of a cycle with typical raid buffed haste. That takes about 65s to occur. Any time you have to be off the target for long enough for your swing timers to hit 0 and be ready again, the cycle resets. So, in most fights you will always be in that optimal range without doing anything at all. In tank n spanks like festergut/saurfang, you can force the reset to occur early by spinning your character around just before your swings are going to land for a very short amount of time(letting them both hit 0 and be ready) or by using Heroic Throw(preferably just after your MH/OH swings have landed).
If you have same speed weapons, life is a bit harder. When you engage a mob(as in, right click it or /startattack-ing), your MH swing timer is immediately ready while your OH swing is set to half its duration(i.e. 1.8s with a 3.6 speed weapon). This means if you engage a mob from range and then approach it, your swings will be synced and landing simultaneously, which is bad since the bug occurs less frequently in that case(as mentioned above, like 50% of the time). If you don't engage a mob until you are within melee range of it though, your MH swing will be able to swing immediately, and your OH will be perfectly desynced from it, being 50% of the way through its swing time each time your MH swing lands, which gives you plenty of time to re-queue HS every swing. This is how I ran the target dummy experiment in the recount above. Unfortunately though, on fights where you're forced off target this setup will be broken and is difficult to reset to the nice desynced situation.
#2: You get free Deep Wounds damage ticks if the debuff is refreshed within about .2-.25s after a tick.
This one is a bit tricker to explain. If you've heard of the "Ignite Munching" bug, then you probably are already aware that DW munching occurs in the exact same fashion. Basically, if 2 crits land near simultaneously, when the 2nd crit updates the damage value for the DW buffer, it overwrites whatever the 1st crit wrote and ignores it.
I.e.:
0s: DW buffer is at 10k damage.
0.5s: MH WW crits, reads the 10k dmg value, recalculates the new dmg value to be 13k, and attempts to write that value back to the DW buffer.
0.5s: OH WW crits, reads the 10k dmg value, recalculates the new dmg value to be 11.5k, and attempts to write that value back to the DW buffer.
.7s: MH WW crit finishes the write, and DW buffer is set to 13k dmg.
.7s: OH WW crit finishes the write, and DW buffer is set to 11.5k dmg.
The obvious corollary is that good munching can occur when a crit lands immediately after a damage tick. In the same way as above, the new crit that lands recalculates the damage the buffer should have using the damage remaining in the buffer prior to the damage tick. I.e. DW buffer is at 12k. It ticks for 2k, and you land a crit immediately afterwards. The tick sets the new damage in the buffer to 10k, but the crit calculates using the 12k value, adds 3k, and sets the new value to 15k. Effectively, you get the 2k dmg from the tick for free since it is never removed from the buffer like it should've been.
This bug wasn't a serious concern until crit rates got as ridiculously high as they are now, since the bug's impact scales exponentially with crit chance. The DW buffer should reach an equilibrium point where the damage going in from crits matches the damage going out each second. So, more crits per second equals more damage going into the buffer, which means the buffer will be balanced at a higher level(meaning higher damage ticks each time it ticks). On top of that though, more crits also causes the debuff duration to reset more frequently, increasing the average time between ticks, which means the average tick will be higher yet. Note that this does not in any way make the damage output of DW any higher yet, since the damage going in is still just equal to the damage going out.
However, the good version of DW munching benefits from higher DW ticks. If you munch a 15k tick instead of a 2k tick, you're obviously getting a lot more damage out of each munch. So with higher crit rates, the DW ticks being munched are naturally higher, and the number of collisions between ticks and crits(causing the munches to occur) is also higher.
Examples can be easily found in anyone's parses. Here is that Saurfang log from above, with the DW ticks and refreshes parsed out:
World of Logs - Real Time Raid Analysis
It happens dozens of times throughout that log, but here is an especially clear excerpt to show just how frequently it can occur:
[20:57:35.961] Rallik Deep Wounds Deathbringer Saurfang 7835
[20:57:36.149] Deathbringer Saurfang's Deep Wounds is refreshed by Rallik
[20:57:37.243] Rallik Deep Wounds Deathbringer Saurfang 8344
[20:57:37.383] Deathbringer Saurfang's Deep Wounds is refreshed by Rallik
[20:57:38.430] Rallik Deep Wounds Deathbringer Saurfang 8852
[20:57:38.586] Deathbringer Saurfang's Deep Wounds is refreshed by Rallik
[20:57:39.602] Rallik Deep Wounds Deathbringer Saurfang 9170
[20:57:39.743] Deathbringer Saurfang's Deep Wounds is refreshed by Rallik
[20:57:40.789] Rallik Deep Wounds Deathbringer Saurfang 9678
You can see each refresh(a crit landing) occurring within about .2s of the preceding tick, and all 4 of these in a row munched the tick, not only giving me the damage of that tick for free, but also making the subsequent munches more valuable since they munch a higher damage tick. In case you were wondering, you can prove the refresh alone isn't enough to account for the damage values you see there with some simple math.
Taking, the last munch there for an example since it's most obvious:
The tick before was 9170 damage and was the first tick after being refreshed, meaning the damage in the buffer before the tick had to be 9170*6 = 55,020, and the buffer should be set to 55020-9170 = 45,850. The next damage tick was 9,678 after a refresh, meaning the damage in the buffer had to be 9678*6 = 58,068. If no bug occurred, it means that single refresh increased the damage in the buffer by 58068-45850 = 12,218. Since DW is 62.4%(including mangle debuff) of the average swing range of the hand that procced it, I'd need an average swing of about 20,000 for that to be possible. If you assume the tick was munched instead, the damage gained is only 58068-55020 = 3048, which is reasonable.
Tick munching is pretty much entirely RNG and uncontrollable, but it does increase the value of crit rating fairly significantly(as explained above, more crits = higher average tick sizes + more tick/crit collisions) and can have a huge impact on things like DPS records for a fight since random streaks of munches can add a ridiculous amount of DW damage.
In Cata, the OH miss bug will be gone when on next swing attacks are eliminated. It can't occur without them. The DW bug will still occur since it's caused by whatever it is that's causing ignite munching, which has been broken for years and will likely never see a fix. It will, however, be much less prevalent if crit rates are significantly cut and not allowed to reach the same ridiculous levels that the end of this expansion is seeing.
TL;DR: Queuing HS a lot makes your OH not miss. Lots of crit makes DW do broken things. Hit rating past the soft cap is beyond terrible, the crit cap is something you should stop worrying about, and crit rating is better than you thought. Don't gem haste.