I haven't seen all of that at my school, but a lot of it I've heard of people doing. Personally, I think it's very wrong to cheat, even in the least bit. Pretty much everyone knows when someone is cheating...and even if you get the same grade as them, or even worse, you can feel good that you had the pride to not lower yourself to their level.
There are some things that could change though. Quite a few kids use Sparknotes for busywork and stuff. Teachers need to realize busywork does nothing for kids whop use or don't use Sparknotes (or whatever it may be).
SHowing the work shows that you know what you are doing to the teacher, it also helps you solve the problem and learn to solve it, back in the third grade you are supposed to show your work for things like multiplication, after so many years you learn it well enough you no longer need th work shown, but with every new concept you need to show work for a while.