All blockchain operations reference communities by their owner account name, i.e. something like
hive-NNNNNNwhere NNNNNN represents the community identifier. That'snot really user-friendly.
Moreover, if you want to get communities related information, you have to browse all operations in chronological order to know what happened within each community. Add to this that the community management operations are non-consensual, and therefore not validated by the blockchain. This will put you in front of a lot of ill-formatted operations you have to deal with and filter.
That's why HiveSQL communities table stores a real-time updated list of all communities and their properties.