Computer fans have either 2, 3, or 4 wires.
2 wire ones just spin.
3 wire ones have an extra wire carrying a speed measurement (I suspect this is logic level, or open drain, or something like that, pulsing once per revolution)
4 wire ones add a PWM speed control line, which can be controlled with logic level signal. These are marked as PWM speed control fans.
PWM speed control fans are of course the most desirable, having no external components needed to change speed. These require no external components other than the power supply. Just connect the grounds, and PWM the signal pin.
You can also PWM the normal ones using an external transistor, though I'd expect it to break their speed readout, and you need a flyback diode (if it's not integrated - it may be), and I don't expect the PWM duty cycle vs fan speed curve to be linear.
The TIP120 is an acceptable transistor, but it's a darlington BJT, which is kind of old hat. Modern MOSFETs perform much better, with less switching loss and on-state voltage drop.
NPN BJT vs N-Channel mosfet wiring as switch, simplest case.
BJT vs FET
Emitter / Source goes to ground.
Collector / Drain goes to negative side of load.
Base / Gate controls it.
On BJT, the base is connected to the arduino pin through a resistor (to limit the base current, while providing enough current to saturate the transistor)
On FET, the gate is connected to the Arduino pin directly, and the gate is also connected to ground through 10k, to keep the gate at ground when the input is tristated.
Horribly long link - any of these MOSFETs will work, and are in easy to use TO220 package.