A simple way to describe it is that they are there for you to expand your program. They don't really exist, they are just there for you to make more rungs out of them if you need them.
Actually, they do exist in the PLC, but at the DirectSOFT level they are "virtual" since most people don't reference addresses way past the end of their programs.
The Ladder memory in a PLC is a fixed size. So, if you have 7K words of ladder memory, when you clear the PLC program, you actually have 7K NOP instructions. If you stuck an END statement at address 7K, your program would execute 7000 Null Operations on every PLC scan, and, believe it or not, this would take some time to execute!
This is one of the reasons why there is an END statement, so that you can tell the ladder execution engine in the PLC firmware to stop processing Ladder Memory. If it weren't for that END statement, you would ALWAYS be executing the ENTIRE memory on EVERY PLC scan!