Though Armor Penetration is gone from gear, we still deal with that sort of stat juggling today. Diminishing returns on Dodge or Parry, hard caps for Hit and Expertise, Crit capping, soft caps for Haste and Mastery and all other sorts of complexities and nuances to contend with when deciding how to reforge or gem your gear. The bottom line is that, while the 500 ilvl BiS profile for Destruction may show Mastery as it's top secondary stat (as a random example that I'm totally making up), it doesn't show that Haste is far better up until you're in that BiS gear. Haste breakpoints, talent choices and even encounter mechanics can throw a wrench in the status-quo and, if you really want to min-max your performance, can wildly change your stat priority.
The best practice is not to simply copy/paste what the Warlock thread at Elitist Jerks says, but to run simulations, get your own stat weights based on your gear, and base your gearing decisions on that. We're going to take a very basic look at how to go about doing that.
The first thing to do is to head over to SimulationCraft's website and download the latest version. Unless there has been a recent patch or hotfix that has affected your class in some way, it's not terribly necessary that you have the newest version, but the file is only 31MB so it's also not a big deal to update often. It's just a .zip file and doesn't require a formal installation so unpack it wherever you want. Once it's unpacked, go ahead and run the SimulationCraft application.
First head to the Options tab and change any settings you feel are necessary. Most options under the Global sub-tab are pretty self explanatory. Buffs and Debuffs should be tailored around your raid group so, for example, you'll want to uncheck the Spell Haste option if you don't have someone providing that on a regular basis. Even in 10M a well balanced raid group should be able to cover every necessary buff or debuff these days. The Scaling tab allows you to pick and choose which stats you want to look at and get weights for. By default it will not simulate Strength for caster classes or specs or anything equally silly, so just click the "Analyze All Stats" option to make things easier on yourself. You can even see how lowering your latency will affect your DPS if you're interested in that information, but I imagine that most people are using the best available to them as determined by their budget and location and that changing their internet service is not a reasonable option.
The Plots tab will provide you with a graph to compare how stats are scaling with each other a few hundred points out. This is handy if you're nearing a soft cap or breakpoint and want to see where things go afterwards.
Once you've tweaked all your settings, head to the Import tab to bring your character in.
There are a few options here and they're all pretty easy. CharDev is a tool for building a hypothetical character if you want to simulate PvE gear versus PvP gear or something like that. BiS is the "best in slot" option that lets you run a class or spec under the best possible conditions. History allows you to quickly pull up recently imported characters without digging around and the Battle.net tab is where you pull your character directly from the Armory. Most of the time this is the one we'll be interested in and the one we'll use for this guide. Just run a search for your character as you normally would and, when you're looking at your character, click the "Import" button on the bottom right.
From here you'll be taken to an eye-crossing wall of text that, while it looks like gibberish, is actually fairly interesting information if you know what to look for.
While I won't get into the full nitty-gritty about everything on this particular page, let's just say that this everything about your character from glyphs to talents to rotation to reforging in code format. If you want to and you're comfortable with doing so, you can freely manipulate this page as you desire if you want to see what happens if you, for instance, save Molten Core procs for caster form or spend them during Meta or if you want to raid with your Succubus instead of your Imp.
Once your character has been imported and you've done any tweaking you feel is necessary, go ahead and run the simulation by clicking the "Simulate!" button on the bottom right. Depending on the speed of your computer and how many options you have turned on, this can take anywhere from a few seconds to a few hours but I've found that a standard 1000 cycle simulation without plots generally takes my gaming rig at home around two minutes. Let it run and go make yourself a sandwich. Make me one while you're up, please.
When your simulation is complete, you'll be greeted by all the information you could ever want to know about your characters performance. DPS, stat weights and breakdowns in graph or spreadsheet formats of resource gains, DPET, damage sources, proc and dynamic buff uptimes and all other sorts of information that you may never need.
Don't focus too heavily on the DPS number that it gives you. It makes for a nice benchmark, but don't freak out if you're two to three thousand below what it says you should be doing. Simulation programs like FemaleDwarf, SimCraft and Rawr, while incredibly powerful tools in the right hands, are still third party applications made by people who do NOT work for Blizzard and may or may not have all of the right information. They'll be close enough and some are better than others for different classes, but they aren't gospel. They also assume you're using the best consumables in the game and not everyone has the disposable income to spend 300G on a flask this early in the expansion.
However, what most people are looking for is going to be right here:
Those are your stat weights and they are what will most often affect your gearing, reforging and gemming choices. These are the numbers that you'll take to your favorite reforging calculator or website. As you can see, Intellect is still king, but with only a .1 difference between my worst secondary stat and my best, I'm unlikely to see a noticable gain in stacking any one over the others. This means that I should adjust my reforging according to playstyle and encounter mechanics. Being currently specced Demonology, Mastery will give me bigger burn phases while Haste will make me more mobile and reactive due to the shorter cast times and GCD's. Unless I start to see a significant front runner, I'll probably end up stacking Haste until I feel like I'm not being held down by the spec and then focus on Mastery.
Something to note
I've seen a couple conversations pop up in various places the last few days and, as a result, I feel like I need to add something of a disclaimer to this.
I mentioned earlier that encounter mechanics can play a big part in how your stat priorities look and I want to reiterate that point. The stat weights that I showed above are based on SimCraft's "Patchwerk" model that is, by their own tooltip, "Tank-n-Spank". There is no movement, no puddles of goo to avoid on the floor, no interrupts to be made, no Soulstones being cast on the mage who forgot to press his Heroic Will button (again). There are no levers to click or adds to burn down and there is nothing that is going to prevent you from focusing completely on executing your rotation as cleanly as possible. SimCraft has several different models you can choose from including "Ultraxion" (periodic stuns, raid damage), "Light Movement" or "Helter Skelter" (stuns, interrupts, heavy movement and target switching - think Spirit Kings). These numbers were also generated under the "Elite" player setting which assumes a fast reaction time and very few or no mistakes. Let's take a look at something a bit more realistic just for illustration. Ultraxion mode with an "Average" player:
Here we start to see a significant change in how stats interact with each other. Mastery drops off because of assumed low uptime on Metamorphosis and wasted Fury and DoT clipping pulls some of importance out of Haste. The thing to take away from this is just what I said at the start of this post: Not everyone is a world class player wearing best-in-slot gear and lots of various factors can change what is a good stat for you. If you're really interested in min-maxing your performance, be realistic. Use stat weights that are based on your raid group, your gear, your skill level, your latency and the fight that you're working on.
Knowledge is power. Now that you have the knowledge, in the words of the worst superhero of all time, "The power is yours!"