A `Flow` is usually cold: it starts producing values when you collect it and is great for declarative pipelines. A `Channel` is hot and push-based: it’s like an async queue for events between coroutines. Use Flow for streams/transformations, Channel for communication and fan-in/fan-out.