Well, cheating needs to defined too.
Many people cannot solve the spoj problems, they ask hint/solution in spoj/topcoder forums. Then they submit the solution and get accepted. Is this cheating ?
I however, like to solve problems myself. So i rarely ask hint but when I get stuck ( too much wa/tle ), i see my friend's code who have solved the problem, then change my program accordingly. Is this cheating ?
I once downloaded a solution from IPSC and submitted it in the spoj system. But I know how the solution works, is this considered cheating ?
I think the only person who losses is the cheater himself. But obvious cheaters like suby/neophd should be handled strictly.