Think of building a four-legged chair with multiple people (A, B, and C). You need to cut the wood into legs, a seat, and a back. You need to buy wood from the lumber yard, and buy screws and glue from the hardware store. You need to sand and finish the wooden pieces. You need to assemble the pieces with screws and glue.
The naive approach would be to have everyone go buy materials (and wait for everyone to get back), then together cut the wood (and wait for everyone to finish cutting), then together finish the wood, then together assemble the chair. This takes a longer time, because people will wait at each step, if there is any difference in task completion time between people. The length of each stage is the maximum of each individual task completion time.
The critical-path approach would be to send A to wood store. A returns and starts cutting leg 1, not waiting on B to return. B starts sanding the leg 1 completed by A, while A starts cutting the next leg, 2. C starts by finishing leg 1 after B finished sanding, while A starts cutting leg 3, and B starts sanding leg 2. Near the end, A has finished cutting the chair back, and goes to the hardware store to buy the screws and glue. A returns and starts assembling the chair as the pieces become ready.
Note how much earlier all the wood was cut in the naive approach. This is "early starting". In the critical-path approach, the cutting of each piece by A was delayed until it was needed by B for sanding. Buying the screws and glue was delayed until much later, when they were finally needed for assembly. That is because the critical path is:
(Buy Wood) -> (All Parts Are Finished) -> (Assemble Chair)
Other tasks can be delayed as appropriate, when doing so allows more resources to be spent on the critical path. I.e., wait until you are almost ready to assemble the chair before you buy the screws and glue, as time is better spent on getting those pieces finished!
I hope that makes sense.