column1.php is supposed to alter the main.php layout, this is why it invokes it
It allows to alter a main template without writing a template from scratch. you may regard it as a subtemplate
It just renders the view content by echoing <?php echo $content ?>
Then it calls $this->endContent();
The trick is that your column1.php generated code will replace <echo $content ?> in main layout main.php
So you can write some extra html in column1.php, then echo $content(which is the view, captured by main.php) and add some extra html after the echo as well
the endContent() call will capture all these alterations and apply them where <? echo $content ?> is placed in the MAIN main.php.