Generally speaking a single hub should suffice but it depends on a bunch of things like the type of devices you have, the location of the devices, whether or not they are repeaters, type of construction/layout of location etc.
In my experience with my clients a multi-hub configuration by location for a scenario like yours could help reduce potential issues from the outset.
The keys to success are:
- Read up on building a good mesh.. as @brad5 pointed out
- Make sure each hub has a hardwired connection or use something like MoCA or powerline adapters.
- Keep rules for devices paired with each hub local to that hub as much as possible. Doing this provides some function separation if any one hub experiences issues.
- Use the built in Hub Mesh capability to handle device sharing between hubs - use for more global rules, single dashboard etc.
- Exclude then Factory Reset devices before pairing.
- Use this community as a resource but understand we are all doing this on our free time and love of all things home automation.