The main purpose of participating in online challenges is to learn something or to test skills. Besides it is much faster to learn something new, when you have a goal to achieve.
By the way, some people use them to show other people in InterNet, that they know something useful... and thus are better than those who don't.
CyberArmy - it is the society, members of which want to keep the InterNet free, they want to prove, that Internet can be self-regulated...
SlyFx challenge - if you want to learn something about the JavaScript, CGI and http headers, then this is what you need...
Arcanum - yet another challenge...
Dya-blo - challenge of all your computer-related skills... It includes both programming, javascripts, java, maths, logic, encryption and more...
HackerGames - the site, on which you will find links to all of the existing challenges on the net...