Magento implements MVC differently compared to other MVC frameworks .
In magento View part of MVC is separated into Layouts and blocks.
Layouts defines what a page should contain and how different nodes are related. Every Block in the block folder has a corresponding phtml file(which is declared in layout file). Block job is to load corresponding phtml file and provide some public function for it.
When Magento receives a page request , for example catalog page. it reads the Layout file and finds out what are all the block it should render for that request.for example
<block type="page/html" name="root" template="page/1column.phtml" />
Magento will read this chunk of xml and find out that it should instantiate Mage_Page_Block_Html class and pass the template file it is responsible for.
Magento is confusing sometimes.but once you use to it.You will just love it.