Complication vs direct data access

When I only display data, what are the upsides/downsides of using the complications api vs directly accessing data like Activity.getActivityInfo().currentHeartRate?

Complications

  • I need to subsribe
  • I need to write a handler function
  • I need to save the last provided data in my watchface

Direct Access

  • I simply use the provided data

So in the case of only needing the data (no label), why should I use the complications api for system complications?

It seems that it does not provide any benefits but increases memory, size and time consumption of my watchface.