To maximize damage you always need a balance of different stats, so stacking one stat is never a good choice unless you're doing it for "fun", or whatever.
You can try to think of each stat as a separate multiplier to your damage. Imagine a world where no stat synergies existed at all; you would need an exact equal amount of each secondary to maximize your damage.
Example:
Someone hits for 100 damage every second, giving them a DPS of 100. Adding 10% crit and 10% haste to that person will always result in more damage than adding 20% of either stat.
100 DPS + 10% haste = 110 DPS
110 DPS + 10% crit = 121 DPS
100 DPS + 20% haste = 120 DPS
In other words: (100+10%)+10% > 100+20%
Now, obviously this isn't how WoW works. All classes have significant synergies with certain stats. And that's where a lot of people seem to get confused, thinking "Well if crit is better than haste for fire mages why would I ever get haste over crit on a fire mage?".
But the fact is that even if certain secondaries are weighted better than others, you will always reach a point (often earlier than you would think) where other stats, other multipliers, start adding more value to your character.