The 0x protocol is one of the best projects on Ethereum. However, if I had to identify one weakness, it's that it's questionable as to whether the ZRX token has added significant value to the protocol so far. The argument for using the ZRX token include fee payments and decentralized governance. However, the fee for an order can easily be denoted in the assets being traded. This is much simpler than having it be denoted in a different asset, which introduces many complications such as the need to account for an extra exchange rate. In the case of decentralized governance, the use of ZRX makes more sense, but there are still inherent weaknesses. Since decentralized governance is implemented through the ownership of an asset, and asset ownership generally follows the power law (that is, a small amount of users end up owning the majority of an asset), we risk a governance model that isn't truly decentralized but, rather, governed by the wealthy.