I switched from a Computer Science Engineering major to just Computer Science. It saved me 100 more credits of work and gave me the chance to take great courses like beer brewing, samba drumming, plant identification, and history of rock'n'roll. Not to mention all the time I had to spend with friends and enjoy my hobbies.
Graduated with the bare minimum GPA (to a 0.01) required for Honors, and got a great job. Life is definitely more important than the 4.0, and the fancier degree.
The assignment from which I learned the most and which I had the most fun on was totally open ended other than some general methods.
Plenty of smart people follow the rules on principle and plenty of rule-breakers are dumb. Notably, many students who cheat has to cheat, because they are unable to learn underlying material.
There's various ways to go about morals in general but "following the rules" in itself is not a good basis for morality.
Actually, there never was a time where I felt that cheating was worth it. On the contrary, the amount of time I'd need to prepare a strategy (compile cheat sheet, figure out how to use it, where to sit, etc.) probably exceeded the time I'd take to just study for the exam!
I agree, always following the rules isn't beneficial to society, but I'd argue it's better than the case where no one is following the rules.
And note that I was talking about a cheat sheet to be used for cheating.
I was a straight A student all though my major (EE), but I never hesitated to take a B+ if I felt the amount of work needed for an A wasn't worth it. In addition, I made sure to enjoy my free time and work on stuff that I love (software dev, for instance!). I think I was successful: IIRC, I pulled 1 all nighter in my 4.5 years as an undergrad.
Obviously, I didn't graduate with a 4.0, but I got a high enough grade to get admitted to an excellent school for a PhD.