It was used in a useful way in that second program, although Salem pointed out the issue with using fseek on text streams, so it's basically broken. Since POSIX-compliant systems guarantee that text streams are mapped in the exact same way as binary streams, this isn't really an issue for them, but since POSIX isn't C I suppose it's still an issue within the boundaries of this board. Although, you could still use that example with binary streams quite well, and probably in fewer lines than you would without the call to fseek.
If you want to give them a good perspective on the issue, encourage them to implement gets for themselves. Then encourage them to implement fgets. That way they'll have a good understanding of the weakness gets has which fgets lacks. They'll also know how to write functions that optimal for their intended use, where fgets usually isn't.Otherwise, what's the point? It doesn't help me explain anything practical to a beginner wondering why gets should not be used.
edit: ... and gets basically always isn't.