The idea behind this technique is to make multiple addresses lead to the shellcode by filling the memory of the application with lots of copies of it, which will lead to its execution with a very high probability. The main problem here is guaranteeing that these addresses point to the start of it and not to the middle. This can be achieved by having a huge amount of nop bytes (called NOP slide, NOP sled, or NOP ramp), or any instructions that don't have any major effect, such as xor ecx, ecx:
As you can see, the attacker here used the 0x0a0a0a0a address to point to its shellcode. Because of the heap spraying, this address could actually point to a nop instruction in one of the shellcode blocks that will later lead to the start of the shellcode.