The differences in the blocks are relatively simple.
The first block, [run forward/backward | turn left/right] control both of the motors to move the robot in the selected direction at the speed that is specified.
The second block, [run forward/backward | turn left/right] [degrees] degrees at the speed of [speed] rpm is similar to the first block but allows the use of the motor encoder to specify how many rotations the motor axle should turn.
The set encoder motor on board [slot] rotate at the speed of [speed] rpm sets the speed of a specific motor.
The set encoder motor on board [slot] rotate [degrees] degrees at the speed of [speed] rpm is similar to the previous one but allows the use of the motor encoder to control the number of rotations fo the motor axle.
The set encoder motor on board [slot] power to [power] looks like a duplication of the set encode motor on board [slot] rotate at the speed of [speed] rpm. (@tech_support, is this correct?)
The set DC motor [Port] speed [speed] sets the motor on the selected port to the specified speed. This is likely for use with other motors besides the ones that come with the kit that are connected via an extension board.
The set stepper motor [port] speed [speed] distance [distance] is used to control a stepper motor.
There are several reporter block (long oval shaped blocks) that can read the current settings as well if you need to test how far / how fast the motor has run or is running.
Hope this helps.