Software channels are used by Patch Management. For example, Adobe is a software channel. Microsoft, Google, Apple, Red Hat, etc are also software channels.
If you want to install a software resource (e.g. "Labelmaker Documentation Pack") if a different parent resource is installed ("Labelmaker 4.5"), there are at least two methods. One method is that your target for Labelmaker Documentation Pack Managed Software Delivery includes a filter such as "Computers Running Labelmaker 4.5", which does some sort of SQL query (SELECT arp._ResourceGuid FROM Inv_AddRemoveProgram arp WHERE arp.DisplayName='Labelmaker 4.5').
A second method is that when you create Labelmaker Documentation Pack, you can create an Applicability Rule for Labelmaker 4.5. Labelmaker Documentation Pack is now only applicable to computers with Labelmaker 4.5, and you can apply the Managed Software Delivery for Labelmaker Documentation Pack to all computers.
I suppose you could also state that Labelmaker Documentation Pack is an update to Labelmaker 4.5, and associate it as such. When you create a Managed Software Delivery for Labelmaker 4.5, it would automatically run the detection checks for Labelmaker Documentation Pack after installing Labelmaker 4.5, since it would view the documentation pack as a required update or service pack.
I typically prefer the first method, since it will take care of any computer, no matter how they originally received Labelmaker 4.5.
Does this help?