What is managed channel and when/how to use it

Hi,
We have been exploring temporal for a while and even use it in production systems. We wanted to know what the managed channel option in WorkflowServiceStubsOptions is in the java sdk and when to use it.
Managed channel offers methods like
managedChannel.notifyWhenStateChanged()
managedChannel.getState()
Can you please provide a practical scenario where one might want to use these?