Memory in a computer can be thought of as one long string. You have position 1, position 2, position 3, etc.
Let's start with the simple case where every instruction occupies exactly one position in memory. Then the normal process for the computer is to execute the instruction at position 1, then to execute the instruction at position 2, then execute the instruction at position 3, etc.
Some instructions change this sequence. The simplest is a "jump" or "go to". This tells the computer that the next instruction to execute is not the one with the next higher position number, but some other instruction. So if at position 100 we have the instruction "JUMP TO 200", then instead of going to 101 next we'll go to 200.
Technically, there's a special register called the "instruction pointer" that says what the next instruction is to execute. Normally, after executing each instruction, the computer automatically adds 1 to this. A jump instruction replaces the value instead of doing the automatic add. (Some computers have relative jumps that add or subtract from the instruction pointer rather than replacing it, like JUMP +10 means add 10 to the IP.)
On many, probably most, modern computers instructions do not all have the same length. But this just adds a minor complexity. If an instruction takes 3 positions, then after executing it we add 3 to the instruction pointer instead of 1.
There can be additional complexities. Like "interrupts" can jump you out of the normal sequence. For example, on some computers, when a key is pressed this generates an interrupt, which takes the computer to a function that processes the keystroke. The current IP is saved somewhere, and when the interrupt processing is complete, we restore the IP and resume what we were doing before.