People either doing it for the kudos on the way up, or to cover some costs while doing further studies, eg PhD, or part time in a couple of Unis.
To get the Oxbridge posts you would need to have a PhD or be close to competing one. You wouldn't get the job with just an undergraduate or masters degree. Such jobs also don't carry kudos in the academic world.
As pp said, people combine several such posts to get an income of 25k or so per year, while looking for a post-doc or long-term teaching post. There is also a huge market of people finishing PhDs whose funding has pretty much run out: for these people a couple of months part-time teaching is ideal.
Agree that it's very rare for such posts to be given to people who aren't already in Oxbridge.
You could argue it would be better to centralise a bit, and advertise a single (decently paid) teaching job instead of five or six of these.
Well, this is what many university departments do. Oxbridge is special in its need for college teaching, a few hours per week per subject, repeated over 30 odd colleges. At many other universities there would be instead be a full-time job combining the hours for any given subject. It does sometimes happen that Oxbridge colleges get together to offer a full-time job spread over 4 or 5 colleges and I agree it would be good if they did this more. (It's very hard to make such agreements with other colleges though!)
In general the post-doc system is not set up in favour of the post-docs - in my field we will get hundreds of applications for any permanent position from all around the world and the chance of getting a permanent position is low, even for graduates from the very top universities. I advise PhD students and post-docs to be realistic about their chances, have a backup plan and not to keep waiting for a job that may never happen.