I'm reading the PHP Developer's Guide and I see this:
Blocks are used in Magento to reduce the burden on the controller by moving most of the logic into blocks.
What problem does this solve? Controllers can handle all the logic in every other MVC architecture. What limitation does Magento have that we can't "burden" the controllers with doing exactly what they are designed to do?