I was in class, and I saw a grad student reel off a proof of a theorem in real analysis, one I found quite hard and never really tried to understand thoroughly, with no effort.
This led me to ask the question: at what level should I know the material I learn in my math classes?
In particular, if I want to go to graduate school, what standard should I hold myself up to? Should I be able to reproduce proofs of all of the main theorems from scratch on a whiteboard, completely understanding the all of the techniques used? 

This is not really a standard enforced by the coursework, which requires knowledge of the statements of the theorems and some problem solving ability.

So the question really is: should I come out of undergrad understanding not just the statements of the results in class, but also the proofs?

Also, from personal experience, does taking this approach to studying help one solve mathematical problems?