Teensy: PWM – Better Square Pattern

What is PWM? What is the benefit of using PWM pins? Which pins can be used for PWM output?
Look at this video below around 12:48 minutes into it and follow what he does.

Now try again the square pattern with more accurate performance. Copy and paste your program here.

// Square Pattern with "PWM" is pulse width modulation. 
// Using the PWM pins allows the programmer to control the pulses sent to the motors. 
// Pins 5 and 6 are used for PWM output. 
// Darcy Chang 
// 6/6/19 
// Arduino 1.8.5 

// Set up pins
const int OnBoardLED = 13; 
int Dlay = 500; 

void setup() 
{ 
  pinMode(9,OUTPUT); // set the pin modes to output 
  pinMode(10, OUTPUT); 
  pinMode(11,OUTPUT); 
  pinMode(12,OUTPUT); 
  pinMode(OnBoardLED,OUTPUT); 
  pinMode(5,OUTPUT); 
  pinMode(6,OUTPUT); 
} 

void loop() 
{ 
  blinky(); // blink the light 
  forward(1000,120,120); // move forward 
  stopBot(1000); // briefly pause 
  turnRight(1,80); // turn at a right angle 
} 

void blinky() 
{ 
  digitalWrite(OnBoardLED, LOW); // flash on board LED 
  delay(Dlay); 
  digitalWrite(OnBoardLED, HIGH); 
  delay(Dlay); 
} 

void forward(int amt, int lWheel, int rWheel) 
{ 
  analogWrite(6,lWheel); 
  analogWrite(5,rWheel); 
  digitalWrite(9,HIGH); // make left motor move forward 
  digitalWrite(10,LOW); 
  digitalWrite(11,HIGH); // make right motor move forward 
  digitalWrite(12,LOW); 
  delay(amt); 
  stopBot(500); 
} 

void stopBot(int pause) 
{ 
  digitalWrite(9,LOW); // stop both motors 
  digitalWrite(10,LOW); 
  digitalWrite(11,LOW); 
  digitalWrite(12,LOW); 
} 

void turnRight(int dlay,int lWheelSpeed) 
{ 
  analogWrite(6,lWheelSpeed); 
  digitalWrite(9,HIGH); // make the left motor move forward 
  digitalWrite(10,LOW); 
  digitalWrite(11,LOW); // stop the right motor 
  digitalWrite(12,LOW); 
  delay(dlay); 
}