Baseline PIC 12F508 Delay Loop Goto Instruction
Well I did some digging for accurate information. The PIC12F508 is a 33-single-instruction-per-clock device... except for program branches, which take two clocks.

So if the oscillator frequency of this PIC were 4MHz, then the instruction rate is 1MIPS. The period of 1MIPS = 1uS. Each decfsz loop takes 80*3 (since there are two instructions and the branch takes two cycles) = 240uS. Four of those total 960uS. That's 0.000960 seconds.

"Persistence of vision" is a phenomena of human vision which essentially means that if something is moving fast enough, we can't see it and it appears "fluid" or non-jittery. Essentially, anything changing faster than 30 times per second (1s/30 = 0.0333s) is imperceptible to our eyes. So if the LED were toggling at a rate of 0.001s, then we would perceive it as constantly-on, even though it were in fact, blinking really fast.

However, when the final goto is changed to the first loop, remember count is zero, so decrementing it makes it 255. (decfsz decrements first, then skips if zero.) So after the initial three loops, this new first loop adds another 255*3 = 765uS. The next two also add 765uS each. But when it gets to the fourth one, it again decrements only once, and loops to the top again. Over and over, 78 more times. This is called a nested loop, and is very common to create larger delays.

The bottom line is that the first version does work as intended. But it happens so fast, you can't "see" it. The second version loops many, many times, so is much slower, and behaves in a way we can perceive with our eyes.

Also note that this PIC does have a hardware timer module, TMR0. This can also be used to create delays and intervals, and since it is implemented in hardware, leaves the rest of the device free to do other things while TMR0 increments. It may be a little finicky to setup and use, since it involves interrupts, however they are very useful in real-world applications. I'd recommend trying these also.