It depends on what features of the FMG you're planning to use, like Policy Package, etc. If you're planning to use policy packages to use common objects shared with multiple policies on multiple FortiGates so that you need to change only at one place for all of them, you need to keep it in your mind that each ADOM has one big object database shared by all devices in it.
For example, if you have "cloud_service" address or address group object, all devices using it in a policy package (or even mulitiple) shares the same address, unless you define it as a dynamic objects and configure different addresses per device.
Although it's not impossible without it but it's probably a good idea, and very common, separating customers by ADOM to avoid conflicts and confusions.
I can't think of any cons using ADOM at this moment.