Competitive Programming is a sport where teams(or individuals in some instances) compete with each other to solve a set of algorithmic questions in the shortest time. This generally happens on a system called the Online Judge which is basically a system for code evaluation.
ACM ICPC is basically the Olympics of Competitive Programming.
The significance can vary from person to person but sometimes Universities and Companies look favourably at good results in such competitions.