that's basically because all commercial cad software are built on the same 3 geometric kernels (none of which are open source) and have robust and mature solutions. FreeCAD's is improving over time but it's a game of catch-up and the math and algorithms involved are complex.
The kernel FreeCAD uses doesn't really have a robust heuristic for this, so FreeCAD had to implement its own.