Help with Torque/AngularVelocity/BodyGyro/BodyAngularVelocity

How are these 4 different, and in what situation is each of them best to use?