I'm going to take a slightly different tack to Chuck.
What is Torque Control?
For me, Torque Control is about performing a move with an explicitly defined torque, rather considering torque just the means to the end of Position or Velocity control.
Normally when you move a robot, you specify position and speed, with the robot allowed to use any and all torque up to it's maximum, required to achieve those two goals.
When you specify a move with a Torque component, you are saying you want to use that specific torque for that move. It's easiest to illustrate this with an example.
Example: picking up an egg
Let's say that you want your robot to grip an egg. The egg is a fragile spheroid of (slightly) variable size.
Without Torque control
Ideally, you would have to know the orientation of the egg and the precise dimension along the grip axis. You then have to close the gripper to be slightly smaller than that grip axis dimension and rely in the error between the demanded and actual position to apply the correct amount of force to grip the egg securely.
This second order effect is very fragile and could result in eggs being dropped once motors start to age and provide less torque, or start to crush eggs if PID parameters are tweaked to (say) improve position or velocity accuracy.
Since eggs aren't uniform, if you cannot measure the grip axis dimension for each egg, then you will need to work out a compromise grip position.
Too small and large eggs will be broken by the force applied, too large and small eggs won't be gripped tightly enough. If there is sufficient variation between the smallest and largest eggs, there may be no compromise position which won't either crush or drop some eggs.
With Torque control
With Torque control, you have much finer, more predictable control. You are specifying torque as a first order effect and have direct control over it.
Typically, you would start by moving the gripper without Torque Control to just larger than the largest egg, then move the gripper with Torque Control to just smaller than the smallest egg. As soon as the torque limit is achieved, the motor would stop moving, and the egg would be gripped with precisely the required force.
Why not use Torque control all the time?
You typically only ever use Torque Control when you absolutely need it because direct Torque Control means giving up control of position and velocity.
You can get close to direct Torque Control by applying a Torque limit to a standard Position/Velocity move, but you have to be careful, since the torque limit must be higher than the minimum torque needed to achieve those moves.
Applying a torque limit which is too low can easily result in following errors (actual position falling behind required position, resulting in poor control) and can even prevent a robot from moving to it's destination position (if the torque limit is lower than the torque required to make the move, due to stiction, friction or gravity to name but a few possible factors).
There are some situations where you need to apply a force smaller than the stiction of the system. Because the static friction would prevent the required force being applied, effectively no force would be applied. This could be the case with some direct drive motors for instance. In that case your Torque Control system may need to be able to briefly apply a higher force to break past the static friction, but then quickly revert to the required Torque, so that excess force is not applied.
Torque control is an important technique for some applications, it is something which our bodies take for granted, but which Robot systems have to be explicitly configured for.