Apart from the obvious reasons, like financial, employment and recognition, what are the practical/real benefits to using programming competition sites?
It seems quite algorithmic and maths heavy, but how does that map to something practical, in your everyday programming?