The first use for a quadtree I can think of in addition to your link deals with 2D collision detection. You can find more information on Wikipedia where there is a small list (here) as well. I think a quadtree for 2D is pretty common, though, I could be wrong. A more up to date article for a quadtree terrain (though in C# but you can translate it) I found was here.
There are more advanced terrain clipping/LOD systems you can do but I don't know the exact details of them. The node based LOD found on Rastertek has worked for my needs and was pretty easy to implement. I had a simple box for each terrain node/chunk, and I just did bounding box detection to know which chunks were to be rendered. This may not have been as efficient as other techniques but I didn't have any noticeable problems.
Normals are generated when I create the terrain and I just store then inside the buffer. If the terrain isn't changing there doesn't seem to be a reason to regenerate the normals each time using a shader. In the case where my terrain changed (when using a simple brush) I just recalculated and updated the buffer.