why do we use or create the different project to export the billing data to the big query?
Project means isolation of resources and permissions. In an organisation, not every need to see the billing information and hence in a different project.
All resources have to belong to an account and a project. The very first account you create in this you can think of as account that will pay the bill. In this account there is one user at the moment, you as the owner.
So you need to create a project to put resources in to capture the bill. It also makes sense for this project to not contain any over other resources such as compute etc
Same as in programming you keep things simple and specific.
You then create a new user give them a billing account user capability. This allows them to have their own account but associate it to your account specifically for paying the bill.
So you now have a billing account, the first one and a super user for that which you will avoid using.
You then have your first user account, and a super user for that which allows that super user to create projects but not do anything regarding billing.
In an organisation you might then assign a new project to some new user and let that user only use that project, so they can only do things within that project.