I/O plugins are a way to process audio outside the normal Ardour session or connect to sources typically unavailable in a DAW, such as outputs of NDI devices. Pre-plugins run before Ardour does any processing, post-plugins run after Ardour has done all processing.
A common use case is wet recording where a number of plugins are applied directly to the physical input. The processed signal then can be routed to any number of tracks or busses in Ardour. This is a lot like doing some of the processing with a chain of guitar pedals, then feeding the signal to an Aux In port on a mixing console or an input port on a multi-effects digital pedalboard. The rationale for pre-processing with I/O plugins is that it's a more lightweight way to do it as compared to busses.
Another use case would be loading an instance of the NDI Input plugin as a pre-processing plugin to be able to capture and mix sources from NDI devices, or loading an instance of the NDI Output plugin to send audio from Ardour over IP to a receiver for broadcasting.
It's also possible to use the post-processing section to load plugins for room correction or signal analysis (VU meters, spectrum analyzers etc.).
New I/O plugins can be added in the I/O Plugins dialog (Window > I/O Plugins).
Right-clicking opens the same menu for plugin selection available for mixer channel strips:
Double-clicking opens the Plugin Selector dialog.
Once a plugin has been selected and added, it shows in either Pre- or Post-process section depending on your choice.
I/O plugins have the same user interface for setting input and outputs that is also available in mixer channel strips. The button above the plugin name opens a drop-down menu for quickly choosing an input port. The button below opens the drop-down menu for choosing the output port.
Additionally, new tracks automatically connected to an I/O plugin can be easily created in the Recorder window by clicking the + button and then setting a new for that track.