You do need a Zigbee gateway implementation solution (e.i. software) like either Home Assistant’s built-in native ZHA integration or Zigbee2MQTT (Z2M) (add-on or stand-alone application which communicate via MQTT) that uses the Zigbee Coordinator (e.i. the Home Assistant SkyConnect radio adapter).
ZHA and Zigbee2MQTT have different pros and cons as Zigbee gateway solutions and as you suspected, those pros and cons have and continue to change over time as both solutions continue to be actively developed. You can read about such on Reddit and watch YouTube video but much of the information often outdated relatively quickly.
Perhaps most important is that while with only a few limitations, most devices should in theory be able join/pair directly to any Zigbee solution regardless of brand and manufacturer, but because the Zigbee specifications allow for manufacturers to add custom non-standard features/functions to new products that are impossible for developers to predict and add support for in advance, (which is one of the readon why commerical hubs only whitelist their own brand of devices that have been tested and confirmed working) thus users of all and any Zigbee solutions that is not from the original manufacturer need to be aware that not all functionality will always be supported out-of-the-box and devices that use custom “manufacturer-specific extensions ” to add functions and features not included in the standard Zigbee specifications will need device-specific code in the form of Zigbee device handlers/converters that decode/translate all custom features for them to fully work. For ZHA and Zigbee that process is described here → https://www.home-assistant.io/integrations/zha#how-to-add-support-for-new-and-unsupported-devices and https://www.zigbee2mqtt.io/advanced/support-new-devices/01_support_new_devices.html respectively. To summerize the basics, since the developers can not buy and test every Zigbee device out there themself, you as the end-user who want to use a specific new device need to buy and test joining/pairing that new device yourself to the Zigbee solution you want to use before then submit a device support request with device signature + diagnostics information in order for the developers to decode/translate that data and be able to add those custom parameters and attributes in a new custom device handler/converter that is specific to that new device. So if a device that uses custom “manufacturer-specific extensions ” to add new non-standard functions and features is supported in one Zigbee solution but not another then that simply means that an end-user and a developer have not yet collaborated to create a new custom device device handler/converter for that specific device in that Zigbee solution.
Anyway, I can personally recommend either and the best would really be for you to try both, however since you already bought the EZSP (Silicon Labs EmberZNet Serial Protocol) based Home Assistant SkyConnect radio adapter to be used as Zigbee Coordinator I suggest you go with the built-in native ZHA integration since it is currently recommended to use a Texas Instruments ZNP based Zigbee Coordinator with Zigbee2MQTT, like for example ITead’s “Sonoff Zigbee 3.0 USB Dongle Plus” (model “ZBDongle-P”). Regardless of which soluton you go with I highly recommend that you read and follow all these tips before getting started to not have to stumble into the greatest pitfalls of Zigbee → https://community.home-assistant.io/t/guide-for-zigbee-interference-avoidance-and-network-range-coverage-optimization/515752
Out-of-the-box support for custom features/functions in new devices + always getting the latest firmware updates from the official source are usually the main benefits of using the manufacturer’s commercial Zigbee gateway/bridge/hub with their own branded devices.
The main downside to that (other than having to maintain different brand hubs in multiple apps) is that manufacturer’s own Zigbee gateways/bridges/hubs normally only support their own brand of devices, and Zigbee heavily relies on mesh networking using indirect routing over Zigbee Router devices in the Zigbee network to achieve better range and coverage, so optimally you want to keep all your Zigbee devices on the same Zigbee network if possible to get good range and coverage.
Zigbee radios have very short range and poor wall penetrating signals to its network mesh technology and Zigbee Router devices is the key to a stable Zigbee network, and that will not work well in practice if you need to use a different Zigbee gateway/bridge/hub for each brand of devices that you buy if you only have a few devices connected to each and spread out those far away. See these tips which apply to all Zigbee solutions (even proprietary Zigbee gateways/bridges/hubs ) → Zigbee networks: how to guide for avoiding interference and optimize for getting better range + coverage