that DisplayObject is basic, core object in modern display implementation in Flash runtime. All other "objects" that can be interacted, added, created, removed, etc in runtime are descendants of DisplayObject. DisplayObject is abstract - in that term that one cannot directly create it in code. That is also not possible to "see" it on screen as there is no tools in api to draw/fill that object. For all such requirements one would use one of descendants of DisplayObject - and there are plenty of them including Bitmap, Shape, Video etc - Sprite is only one of such descending objects.
see e.g. "Core display classes":
If you go to the docs description of the Sprite class, you can see the inheritance hierarchy and see exactly what changes between Sprite and DisplayObject.
My 2 cents...
EventDispatcher knows how to dispatch events and let listeners register for them.
DisplayObject extends EventDispatcher to be an abstract visual thing with a location.
InteractiveObject extends DisplayObject to add mouse and keyboard interaction.
DisplayObjectContainer extends InteractiveObject to add children and therefore allow a whole tree of visual descendants.
Sprite extends DisplayObjectContainer to add drawing into its Graphics.
Adobe Flex SDK Team