3D speed and acceleration are derived from 3D distances between 3D points. 3D points are computed from their image coordinates and the calibration parameters for a given video frame. If the calibration is slightly off, then distance measurements will be slightly off and therefore also speed and acceleration (but all are off +/- in the same degree)

When tracking a player (usually 1 key position per second), the software interpolates between the key positions using a spline/Bézier curve. Speed and acceleration (and also "distance covered") are computed by following this curve.

For speed and acceleration to be accurate and consistent throughout the sequence, it is important that you specify every key position by clicking on the (virtual) vertical projection of the player's center of mass to the ground.
Of course this ground point can never be determined absolutely exactly by you, you develop some sort of feeling for that.

Some good examples for different phases of running where the key position should be clicked:

 
Standing leg is vertical to the ground -->  You can take the player's middle foot 

 
The foot which is on the ground is behind the player's center of mass --> You must estimate the vertical projection of the player's center of mass to the ground

 
Standing leg is almost vertical to the ground --> You can take the player's heel 

 
Both feet are in the air --> You must estimate the vertical projection of the player's center of mass to the ground

It is important to understand that the points must be on the ground plane and that they should be specified as consistently as possible. If you click to the left of the player, then to the right, then too far up, you will get largely varying values for speed and acceleration.