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="">
            <block class="VendorMegamenuBlockMegamenu"
                before="-" ttl="3600">
                    <argument name="cache_lifetime" xsi:type="number">3600</argument>

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 ?