It's important to separate chassis dynos from engine dynos. The latter are a lot more repeatable as they have fewer variables. There are standards as to how power/torque should be measured on them, including what accessories are attached at the time.
You can also measure using a sweep (run from x RPM to y RPM and measure the amount of torque, either directly or by how fast a flywheel of a different mass is accelerated) or at a fixed RPM. The latter is more consistent but also puts more of a load on the engine - an artificially high load - and heat management can be a real challenge.
Chassis dynos vary partially because there are so many types. The Dynojet is a pure inertial dyno, accelerating a big heavy drum. It can't really do fixed RPM tests. Because torque is figured from the acceleration of the drum, any change in the rotating masses will add some error into the measurement. That's why a set of heavy wheels or flywheel will "cost" horsepower. Wheel slippage can also be a problem on high horsepower cars.
Other types such as a Rototest or a Dynapak will bolt on to the hub, eliminating all the ugliness that comes from having a pneumatic rubber interface in the dyno mechanism. Instead of a big flywheel, the engine is pulling against a resistance that can be varied. I don't know the specifics of the Dynapak or other setups, but in the case of the Rototest torque is measured directly with a strain gauge - quite accurate. The operator can hold the engine at a given RPM and get a very accurate torque number - again, with the problems of rapidly rising heat and an artificially high load on the engine. The operator can also emulate a Dynojet-type sweep run, which will add in some inertial losses. Then, as Knurled as discovered, you can mess with the sweep and affect the power delivered.
Then, of course, you get into environmental factors. Humidity, air pressure, temperature all play a part in how much power an engine will make. That's why SAE correction factors exist, but they have limitations.
Interestingly, we used to have a Dynojet at the shop. When we got our Rototest. customers wanted to see the "traditional" sweep dyno chart. So we looked at how long the typical turbo Miata pull took on the Dynojet and programmed the Rototest to emulate it. And whaddya know, the numbers came out almost exactly the same.
Drag strips are no substitute for a dyno. There are waaay too many other factors involved to make them a repeatable measurement tool. That's why bracket racing is actually a form of racing
We have a dyno at FM for development purposes. It lets us do terrible things to cars and engines. It's very precise. We never load a car on for the typical "three pulls and a dyno chart" deal anymore, but we do know how to use it to deliver very consistent numbers - consistent from car to car and also consistent with official manufacturer SAE ratings. So it's not impossible, but it's more difficult than you might think.