For visualization or maybe 3D printing, yea. But for finite element analysis, you don't want smooth filling at weird corners/etc. A flat surface is more efficient since it can have fewer mesh elements.
A weakness of this method is that it globally changes the entire mesh! That's bad. You might lose important detail elsewhere. I wonder if those refinement and unrefinement steps are really necessary or not?
global refinement and unrefinement steps are unnecessary, yes. It just makes the implementation of the demo so much easier. It is possible to only refine the patch, and then fuse the patch with the original mesh, and then global refinement is not necessary. But this is actually surprisingly tricky to robustly implement in practice, and did not implement it mostly due to time restrictions, and to keep the demo code short and readable.
A weakness of this method is that it globally changes the entire mesh! That's bad. You might lose important detail elsewhere. I wonder if those refinement and unrefinement steps are really necessary or not?