Unexpected behaviour using ST_Equals() with QGIS
When you split a polygon with a line, nodes are added to the boundary at the point where the line intersects the polygon shell. Because the coordinates of these intersection points can't be exactly represented with floating point numbers (except in special cases), the boundary actually deflects slightly at these points. When these two halves are dissolved back together, the added nodes remain, and the reconstituted polygon is ever-so-slightly different from the original.