Rules for incoming or outgoing calls, number rewrites, switches and channel of type script.
Incoming routes defines what happens with incoming calls from provider (SIP / ISDN channels etc.). Those rules can be set to global which are then used also when internal extension calls them which allows to define (script) complex dial plans.
Outgoing rules are used to define what providers should be used for various destinations.
Outgoing rewrite rules defines set of rules used to rewrite numbers before it leaves pbx. This is sometimes required for complex prefix routing to the operator or when interconnecting between branches.
Switches are user settable switches used to change dialplan behaviour (like night / day mode)
Channel scripts are complex asterisk-language scripts which is sometimes the only way to define some very special behavior like sending HTTP requests etc.