I understand the testing and trying things out in a sandbox Business Unit on Marketing Cloud before pushing into a production environment, but is there a primary reason of having one?
In Marketing Cloud, a sandbox business unit does not differ from a regular business unit. It provides the option of building data model, testing emails, journeys etc. with only test data. However full data isolation is not in place (all subscribers are still coming into a single All Subscribers list in ENT BU).
This is however the most widely used approach for building and testing assets and components on SFMC, especially if you want to limit your dev team to only have access to the sandbox BU, keeping them away from production data.
There is still a big effort needed to promote what you build in Sandbox BU to your prod BU. There is an initial version of Deployment Tool in place, but the scope of it is still limited. More and more features are introduced, but we are still far from the seamless Sandbox/Prod setup which is in place on Core (Sales Cloud / Service Cloud)