Hi @mike528 :
1)the usage of default environment
Whenever a new user signs up for PowerApps, they are automatically added to the Maker role of the default environment.
So you could see default environment as a public environment of your tenant.
The data and apps are public by default in this environment.
Here's a doc about default environment for your reference:
https://docs.microsoft.com/en-us/power-platform/admin/environments-overview
2)the reason why you need to create other environments
You could see environment as a space including data and apps.
The data and apps belong to one environment, then other environments can not use them.
So you could see environment separating data and apps in different spaces.
On one hand, it could help distinguish data and apps. For example, usually, we will use an environment for development, one for production.
On the other hand, it could ensure data's security. Make different users have different permission on different environments.
What's more, it could also ensure data's integrity by creating different data loss policy in different environments.
3)can not use gateway in other environments except default environment
Yes, it is gateway's limit.
Gateways and on-premises connections can only be created and used in the user's default environment.
Here's a doc about it for your reference:
https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/gateway-management
Best regards,