The runway = A core
You have a runway and you want planes to land. They keep landing one after the other. But let's say you want one to take off, the one's that have to land have to stop for a second so some can take off.
Let's say you have 2 cores now.
One for landing one for taking off. You can now land and make planes take off, let's say you want to taxi some planes and there is no room, you have to stop either the landing / taking off the planes in order to do that.
Let's say you have 3 cores now.
One for landing/taking off, and the last one for anything you want e.g taxiing.
What cores do, it allows you to do things during the same time and prevents large queues from happening on one core. Hence why some games cant run on single core because there are loads of variables you want to load at the same time and not having them queueing causing FPS drop, etc.