I didn't write that chapter, so I can't be absolutely sure. But the text says the example demonstrates nested loops. You're right, however, that the outer loop doesn't really do anything so it's sort of a trivial example. (One might think picking the numbers 49 times would make it "more random," but it really doesn't.)
Here's a slightly more interesting example. It picks 10 sets of 6 numbers, assuming you're going to buy 10 lotto tickets.
Code:
// Make 10 picks.
for (int pick = 0; pick < 10; pick++)
{
Console.WriteLine("Pick " + pick + ": ");
for (int select = 0; select < 6; select++)
{
Console.Write(rnd.Next(49) + " ");
}
Console.WriteLine();
}
Even this one doesn't guarantee that the picks don't duplicate each other. For example, one set of six numbers might include the same number twice.
Still, it's good enough to demonstrate nested loops. (If you want to know how to avoid that, reply and I'll show you.

)