I understand that the active strip can only be 0 or 1 and that the selected strips can be >= 0, but other than that, what is the meaning of these 2 concepts? A Python scripting perspective would be appreciated.
Most Blender operators, Interface action "work" on active object (eg. the RHS information tab, apply modifier); Selected objects... are just been selected.
If a method, operator can handle multiple objects at once, it might uses selected objects. Otherwise, active object will be chosen. Back to the 2.79 time, selecting multiple object and go in edit mode will only go in edit mode for the active object. Now it uses selected objects and active object in Blender 2.80.
So if a job/operator need to work on something, and there should be only one instance that being handled at a time. Active object will provide only 1 object or None, make it easy to deal with. And the User Interface will always make active object different, letting the user know which object are going to be deal with. So the word active.
And, surprisingly "active object can be not selected" after you deselected it. Which mean active object is the "last object you interact with".