I was a TA in a prominent CS university. We used software that would compare everyone’s submissions to see if things were copied. The penalty for getting caught was high, and we made it clear to everyone that this software was, while not perfect, capable of detecting simple tricks (like copying code and renaming variables).
Nonetheless, after every project, I would go and have to manually review all the cases. There would be 10-20 severe cases, about 30 moderate cases, and then about 50 cases where some things might look suspicious but there wasn’t enough proof to act.
Overall, we would penalize about 20-50 people per project (granted this is a class size of over 1000). But still, 2-5% would still cheat despite our repeated warnings that we could catch them.
I shudder to think what would happen if we had no way to detect.
While TAing there, I was also a student. Cheating was pretty much the norm. I was always a cynic after those experiences.