Well, channel.close does that and more.
> For example, when I want to end a consumer and no longer need the
> channel, is there a reason to call basic.cancel followed by
> channel.close instead of just calling channel.close?
No, you can just close the channel, it will take consumers with it.
Cheers, Simon