How do you study undergraduate mathematics? I've been wondering lately what is the best way to study mathematics. 
Obviously, we are all different and so there can hardly be one single best way to manage studies.  Still, I wonder how others handle these few questions - in hopes that I'll learn new ideas or get to apply the ones I already know in a more effective way.  
Please don't feel obliged to answer most of these questions! $ $ I'd be already grateful if you can simply share your own way of tackling one of them. 

1- First of all, do you find most mathematics easy? And that's why you study it.  Or on the contrary, you find maths difficult, and that's really why you study it (i.e. for the challenge).  Should this affect how you approach maths studies? 
2- Do you mainly do lots of exercises until you feel you could handle any question on the topic?  Or do you just stick to exercises provided in your main textbook (as long as you didn't struggle with any)? 
3- Do you simply make sure you understand every proof, or you also make sure you can reproduce even the most difficult ones?  How then do you not forget key (unintuitive) steps after, say, a few months?  Do you simply take note of original techniques you encounter in those proofs (and systematically revise them), or it really doesn't matter if you can't reproduce hard proofs easily (or at all), so you don't bother with such notes? 
4- When studying full-time (i.e. when your time is limited), should understanding of topics (or harder proofs) be completely optional, as long as you can handle each activity/exercise, because you can't afford to 'waste' too much time on a single topic?  if not, what is a time effective action to take when you simply can't seem to grasp a concept? 
5- When in search of additional exercises, should I do those in the exercise book provided with my module, or should I get exercises from a third-party source in an attempt to get more diverse questions?  
6- Is diversity (in techniques and exercises) a good thing?  Or it will only prevent me from focusing on the techniques my module is trying to teach me and ultimately assess me on?  (Even if my study time is limited?) 
7- How long should you spend on a question before throwing in the towel? 
8- Finally, how do you revise for exams?  Is it a good idea to start my revisions with past papers (as many as I can find), and only revise related topics from the main textbook IF I get stuck on a past paper question?  Is this approach more time efficient and also more effective since I'd be familiarising myself more with the type of questions I'll have to solve during the exam? 
 A: I'm a graduate student at a mid-tier university entering my fourth year.  What I'm saying here pertains to my experience studying math as an undergraduate.  If you asked about studying math as a graduate student, I would give very different answers.
1 .  The difficulty doesn't have anything to do with why I like it, I think.  I found most mathematics in my undergrad to be easy, with the exception of my first intro to proofs class.  I did well in the class, but never felt like I was really understanding what I was doing that well.  Proofs were mechanical for me, and I didn't have very much intuition or sense of a big picture in most of the homework problems.  
The rest of my math classes, from undergraduate real analysis to graduate abstract algebra, I generally found to be easy.  I still dedicated a LOT of time to problem sets (in algebra and analysis, I put in 10 hours a week on each class's problem sets).  I didn't understand everything instantly, but I never encountered anything that was mindbogglingly difficult for me.  At worst I would return to some material a few months later and work through the details.
2 .  I just did the exercises that were assigned to me in class.
3 .  I tried my best to understand all details of all proofs.  For at least the first half of my undergrad, I'm not sure if I had the maturity to distinguish between important or unintuitive steps of the proofs and ones I could reproduce on my own.  Everything was unintuitive back then.  As I mentioned with my intro to proofs class, math was largely a mechanical process for me.
4 .  I don't have much perspective on this.  At that time, I prioritized math above everything else in my life, so I always had time to sit down and work out the details.  When I took abstract algebra and real analysis the first time, I went down to 12 credit hours because I knew I would be spending a lot of time with both of these.
5 .  It depends how much your book sucks.
6 .  I think diversity of techniques is extremely important.  It gives you a good perspective on just how big math is, and knowing techniques of proof from different areas will give you the ability to begin understanding the deep connections between different areas of math. 
7 .  Many, many hours.  As an undergraduate, you need to develop confidence in your own ability to prove things without hints.  Most of my undergrad I never asked for help on problems.  As a graduate student I ask all the time.
8 .  I made sure I knew how to prove all the theorems in class.
