I wouldn't say that they're advantages or disadvantages, more so just different uses. Data Catalog I would use if I needed a more holistic view of metadata across different things (for example, GCS and BigQuery) whereas this is more just for BQ. Also Data Catalog I would slot in when I need something integrated in an API call, but this approach lets you query it, so if you need to join it with other tables in BQ, you want to work with it in a stored procedure, or other things like that.