Yup, it's a really good exposition of the process most math goes through before it is fully "rigorous". In one of Alan Kay's talks he mentions how Euler basically got all his proofs wrong but his intuitions were almost all correct and some people got PhDs by making his arguments more rigorous [0].
Gian-Carlo Rota has a similar story about most of his proofs being wrong but generally having the right intuitions and being on the right track. The paper is titled "Ten Lessons I Wish I Had Been Taught" and it's really good. He gives advice applicable to any domain where sharing knowledge is the key marker of progress: http://www.ams.org/notices/199701/comm-rota.pdf.
[~ 8min 15sec] There was a mathematician by the name of Euler. Whose speculations about what might be true formed 20 large books. That most of them were true. Most of them were right. Almost all of his proofs were wrong. And many PhDs in mathematics in the last, and this, century have been formed by mathematicians going to Euler's books, finding one of his proves [and] showing it was a bad proof. And then guessing that he, his insight was probably correct and finding a much more convincing proof.
The proof is elegant, but the whole flooding process on arbitrary polyhedron may be a bit difficult to follow (especially if you are trapped by details like saddles above some peaks, lakes with different altimeters, and how gravity works over the polyhedron).
The following simpler formulation of the flooding process may be easier to follow.
initial state: num_islands=1; num_lakes=V
final state: num_islands=F; num_lakes=1
how state changes: Each time a saddle sinks, either two lakes are joined (num_lakes--) or an island is split (num_islands++)
The whole process takes (F-1)+(V-1) events to finish, which is equal to the number of saddles E.
If anyone else struggles with how the formulae "V-J=1" and "1+D-F=0" are obtained:
You can think of the two different ways of joining bodies of water (join two separate bodies of water (J) and join the same body of water (D)) as algorithms for computing a spanning tree in the original graph (J) and the dual graph (D).
To emphasize where the topology comes in since it wasn't clear to me at first: the important bit is the saddles. Just before a saddle goes under, there are two important properties
1. there are land masses on both sides of the saddle. This would not be true if the polytope had holes.
2. if the lakes on either side of the saddle are joined up, the only way they can do that is if the lake circles around and encloses at least one of the two land masses (Jordan curve theorem). Once the saddle point goes under, that land mass is cut off from the "mainland". This would not be true if the polytope had a handle. The lakes could be joined up by going along the handle without enclosing one of the land masses.
There's a way to adapt this sort of proof to show that every polyhedral sphere (like the polyhedra considered in the article), when thought of as residing in 3D space, bound a polyhedral ball.
For this, you flood all of space and look at how the cross sections of the polyhedron vary with time. (Hatcher has some notes on 3-manifolds that outline a proof sketch.)
It works even if the vertices edges and faces aren't straight so what you just described is also equivalent to two hemispheres.
Now maybe you've started wondering where the catch is, since it clearly doesn't work if you just use 1 face for everything. The rule is that the pieces need to be 'simple' which basically means that they're like a disc or simplex, they're allowed to be deformed but you can't cut holes or do anything that changes the topology.
https://math.berkeley.edu/~kpmann/Lakatos.pdf