in addition to what TKamiya wrote:
* for smooth shifting, one has to rev-match on both upshifts and downshifts. For upshifts, the rpm at which you engage the target higher gear is lower than that when you release the previous gear.
This rpm difference between 2 adjacent gears varies linearly with rpm. For example, in my 5spd 190e2.6, if I release 4th gear at 6000rpm, I will have to wait for the tach to reach around 4900rpm for a good rev-match, a difference of around 1100rpm. If on the other hand, I release 4th at 3000rpm, I will need an engine speed reduction to around 2450rpm, a difference of only 550rpm.
Cars with sporting intentions, like the 2.3-16 or 2.5-16, have close-ratio gearboxes, which reduce the spacings between gear ratios for quicker shifting and keeping the engine in its sweet spot.
* one has to also take load into consideration. In high-load conditions, like going uphill, I would shift at a higher rpm, so that the rear wheels will have sufficient road torque in the next gear.
* in low-traction conditions (like in the winter), I don't want too much torque at the rear wheels, so I upshift at a lower rpm.