I can simplify the explanation with an example.
Suppose an enemy is coming at us with a speed of 10, means it moves 10 pixels per second. If he hit the hero, it is game over.
Condition 1 without delta:
* If a user has the same fps as ours, he will play as we want.
* If a user has half fps, the enemy speed will be half of the original speed.
* If a user has a super computer and double fps, he may not be able to play the game because the enemy will reach him at once.
Condition 2 with delta:
The speed is multiplied by delta.
* If a user has the same fps as ours, let's say 60, the delta will be 1/fps = 1/60 =0.016
His speed will be 10x0.016 = 0.16 per second
* If the user has half fps, that is 30, the delta will be 10x1/30 = 0.33 per two seconds. Because his fps is half the speed appears exactly as for the 60fps guy.
* If the user has double fps, that is 120, the delta will be 10x1/120 = 0.08 per half second.
Because his fps is double, he will update quicker than the 60fps guy the speed appears exactly as the 60fps guy.
So whatever the fps, the game entity speed will be the same.