KRL rules are evaluated by an event engine on certain events, to change the state of a pico. channels are the means of communication for picos, similar to ports on a network connection.
cs.kobj.net is a KRL event engine. devtools extends the functionality of the event engine to simplify the management of picos.
When you raise an event you raise the event to the event engine with a identifier that routes that event to a certain pico. the routing identifier is a “channel”, I think of it as an event bus.
Devtools has code to raise events to the event engine, but sending them directly to cs.kobj.net is exactly what happens with devtools.
channels gives picos the ability to be dynamic, you can create as many as you want, filter events based on what channel they came in on, and delete compromised channels. Channels also provide a means for communications between Picos. An http request could be enough with added parameters, but the added parameters would be identifiers for the Pico observing the event. Channels are the designed Identifiers used to route events to Picos.