magento2.4 – Magento 2: why we use cache mechanism at a block level?

I have a doubt that I see some cache codes in layout xml like below

 <referenceContainer name="store.menu">
            <block class="VendorMegamenuBlockMegamenu"
                name="megamenu"
                template="Vendor_Megamenu::Vendor/Megamenu/megamenu.phtml"
                before="-" ttl="3600">
                 <arguments>
                    <argument name="cache_lifetime" xsi:type="number">3600</argument>
                </arguments>
             </block>
        </referenceContainer>

So I do not define cache at block level so Magento 2 Full page mechanism will get that block in cache automatically ,so My question is if Magento 2 already do full page in cache blocks so why we define block level cache ?