Picture time!
Let’s look at some “torque curves” of the motor/transmission system. X axis will be how fast the wheels are rotating (ie, how fast your bot is moving across the field), and Y axis will be how much force is getting put into the ground. All of these assume the motors are being driven at a full 12v with no current limiting.
In a pushing match, you’ll be near zero motor speed. Therefor, your ability to push is related to where the curve intercepts the Y axis.
When traveling fast, your max speed is hit when the motors stop applying force to the ground (F=ma, if F = 0, a = 0, so velocity remains constant). Therefor, max speed is at the curve’s X-intercept.
As a general statement, “better” drivetrains will operate with both large X and large Y.
For a given set of motors, the gear ratio (“speed”) allows you to pick the tradeoff between top speed and max “torque to the ground” - IE pushing force.
A high-reduction gear ratio results in lots of torque at the low end, but caps your top speed.
A low-reduction gear ratio results in better top speed, at the cost of low-end torque:
The ideal two-speed gearbox lets you pick between both of these curves. Assuming you shift at just the right time, you can stay on the “top curve”. This means means you retain your low-end pushing ability, while still having a good top speed:
Looks pretty ideal, right? Why wouldn’t everyone just do this?
However
There’s more considerations
First of all, these things are heavy. Sometimes that’s desirable, but it takes away weight budget from other mechanisms.
Secondly, there’s a traction limit. The wheel/ground interface can’t transfer infinite torque to the ground. At the point the wheels start to slip, the “torque to the ground” gets limited to a constant value, proportional to the kinetic coefficient of friction between rubber and carpet, and the robot’s weight.
Third, there’s a speed limit related to your sprint distance. As you perform a cycle, there’s only so much speed you can accumulate before you have to start slowing down to stop. This point will move around based on your ability to accelerate or decelerate.
Fourth, you’re likely to have additional torque limits, which might be under your traction limit. If your robot has a high center of mass, you’ll have to artificially lower your maximum torque to the ground to prevent tipping. Far more common, the amperage required to push that hard is often more than a battery can sustain, so you apply a current limit (which is, effectively, just another torque limit).
With these limits in mind, we could pick an ideal set of gear ratios and motors to achieve performance that just barely touches up against our physics limits, but doesn’t try to push past them
So, given the limits, is single or double better? Hard to say - shifting does get you a little more performance, but is it worth the complexity, cost, and weight? Exactly how much better it is will depend a lot on exactly where those limits are, relative to the gear ratios in question.
While I can’t say I’ve personally run the numbers to prove it out, the prevailing wisdom is that two brushless motors on grippy wheels will out-perform almost any other permutation on the market. If you’ve got specifics and time to run a few experiments and numbers, you might be able to prove it out to yourself what’s better, given the constraints you have as a team. But, statistically, the answer will likely be to invest in brushless motors and a single speed gearbox, and save the weight and complexity for another mechanism.