Working with both ArcGIS and Oracle Spatial, a self-intersecting polygon renders a geometry invalid. Why are self-intersecting polygons a problem?
It's a result of the algorithms used for generating the polygons.
A polygon is usually made up of multiple line segments. A list showing which polygon is on the left and right of each segment is used to determine which polygon is which. Each segment has only one entry in this list.
Suppose you have a line segment which goes from point A to point B. One one side of the line is polygon 1 and on the other is polygon 2. When you go from A to B, polygon 1 is on the left, and polygon 2 is on the right.
If that line crosses over itself to form a loop, then the left and right polygons get reversed for the portion within the loop. The list still shows polygon 1 being on the left and polygon 2 being on the right, even though that is not the case within the loop.
Thus if you try to fill a polygon or determine its neighboring polygon, the algorithm gets confused when a loop is present, and it will fill or indicate the wrong polygon. This is why most software reports this situation as being invalid.
It might be possible to automatically identify the self intersection and correct the problem, but these sorts of problems are supposed to be fixed before you get to analyzing the data.