Right, but this article doesn't mention anything regarding passing it to the ViewModel.
Aside from making sure you want to keep your navigation logic in one place and not passing it down to every composable, what is the situation like when you want to pass it to the ViewModel in order to avoid having to make a trampoline move, of the VM telling the composable to navigate, which itself calls the NavController, and then have the composable report back to the ViewModel that yes this navigation happened. As opposed to skipping the middle man and having the ViewModel tell the NavController directly to navigate somewhere.