"If the answer is n-rich or UKMT or whatever, why not give it to them when they're bored in class?"
As several of us who actually teach have already said on this thread - we do. Or rather, we plan to give them BEFORE a child gets bored, but AFTER they have demonstrated (briefly) that they are competent at the basics of what is being done that day.
So last week we were revisiting (after a break for other topics) a topic / type of calculation that I knew some children had mastered, while some still needed further teaching / further practice.
First activity was a small number of questions of very rapidly increasing difficulty, which I observed them doing.
The responses to these very rapidly sorted the class into groups - those who needed re-teaching, those who needed more work at specific levels, and those who had mastered the calculation and needed further work on application of it in a variety of problem-solving contexts.
I had work at all of those levels ready, so everyone started at the appropriate level for them. I re-taught the group who really needed it, then gave them independent work to complete under the expert guidance of my TA, and for some children with the additional aid of concrete resources. I then spent some time with the 'advanced' group, to see whether all were happy with the process of 'application', and to move some more rapidly on to more open-ended 'exploration / genuine reasoning' work - sometimes from nrich, sometimes from other sources.
In the meantime, the middle groups were progressing through the graduated work I had prepared, though there was one step that was a 'jump that needed teaching', so I then taught the group for who that was 'the next step, and gave them exercises on it to complete.
I don't always have to do the 'assessment' step, as frequently, mid-topic, it is simply the previous day's work. Sometimes the assessment will be in the form of a 'what mistake has been made here', or an 'application type' problem, or an 'explain why', to ensure that understanding is deep and isn't just 'competence at cranking the handle and finding the answer'.
The groups who need, or will be assigned, 'teaching input' will vary, and in some areas the class will fall into a smaller number of less-dispersed groups. But the above is fairly typical.