As per Enable the Dev Hub in Your Org:
Enabling Dev Hub in a production or business org is completely safe and won’t cause any performance or customer issues. The Dev Hub is comprised of objects with permissions that allow admins to control the level of access available to a user and an org.
and
After you enable the Dev Hub, you can’t disable it. If you're using a trial org, Dev Hub is already enabled.
So once you turn it on you can't turn it off, but generally there will be no side effects except for a few extra sObjects.
If you aren't certain you want it on indefinitely go with a 30-day Dev Hub Trail org instead.
The only caveat I can currently think of is around linking a namespace to the Dev Hub Org - Link a Namespace to a Dev Hub Org (my emphasis):
Choose namespaces carefully. If you’re trying out this feature or need a namespace for testing purposes, choose a disposable namespace. Don’t choose a namespace that you want to use in the future for a production org or some other real use case. Once you associate a namespace with an org, you can't change it or reuse it.
Update - I found another area to consider around the second-generation packages - Best Practices for Second-Generation Packages:
We strongly recommend that you work with only one Dev Hub org, unless you have a strong use case for concurrent use of multiple Dev Hubs.
Every second-generation package that you create is owned by a specific Dev Hub. If the Dev Hub org associated with a package expires or is deleted, its packages no longer work.