Should I understand a theorem's proof before using the theorem? I find myself embarrassed when using results in books. 
For example, there are so many results in Sobolev spaces that I think I would not be able to understand all of them. 
Yes, I could try to understand some of them but I often find I need more, and one theorem relies on another before it, so it takes time to trace back. 
What is your experience / what do you suggest?
Edit: Sometimes, I am worried that if very few users of a theorem really verify the proof, like software that is poorly-tested, there might be some bugs inside.
 A: I think it is a poor policy to require yourself to understand every theorem before applying it. Imagine you had to understand how every car, fridge or computer worked before using them ... you would be paralyzed by inaction.
Granted, as a mathematician (assuming you are one) the situation is a little different because we are talking about understanding things in your field, but mathematics is extremely vast, and I daresay no one alive today knows it all. This doesn't prevent it from being a deeply interconnected thing, however, such that results from on tendril are often required in others.
My advice is to use any result as necessary, and if it becomes something that you employ often, then it may be a good idea to begin to understand it on a more fundamental level. This depends on things such as how much theory is required to understand the proof of the theorem, how much time/effort that will require, how useful will those efforts be for you in a practical sense. 
If it is considered a part of your branch of mathematics, it may be something you should eventually get around to fully imbibing. But you can't do this with everything, and I am sure there are some elementary results whose proofs I've never looked up. 
You can easily lose weeks of time reading books and papers in an effort to understand a result, in the end to simply apply it as you would have and not feel like you've gained anything else from it (though sometimes you do). I'd try to avoid that kind of a bitter experience if possible.
But don't feel embarrassed. For one thing, it does you no good, and for another, there is nothing shameful in simply being yet to read a proof. Math is a toolbox, and if you pick up a tool and use it as intended, it doesn't always matter so much that you understand how the tool operates/came about. 
A: Personally I think it is best to at least have an intuitive feel for why a theorem is true, regardless of whether one goes through the proof carefully. That intuition would also guide one to easily identify things like the underlying structure of the problem, boundary cases that need checking or special cases that may be sufficient for specific purposes.
And yes I have the same concern for obscure theorems that very few use. It is well known that there are errors in even respected published journals, and to me that should be prevented if possible. In mathematics there is in fact a way to completely eliminate all errors, namely proof assistants like Mizar, but still very few mathematicians are using them.
As for books that are widely read, it is unlikely to have serious errors, but there is always still the possibility if you don't verify it somehow.
A: From experience I can attest to borrowing  ideas regularly to prove things (not copying solutions!). This is a common practice since you learn math by reading and doing math. 
A: You are welcome to stand on the shoulders of giants. It is the very purpose of theorems to be used without redoing the proof each time they are used, and that's what you cite the author of a (peer-reviewd published) proof for.
Ultimately, the validity of your argument, if it is based on Theorem X of author Y, does not rely on you understanding the proof Y has written, but on the theorem X being true (for which it would be sufficient if Y's proof is correct).
If you want to make use of  theorems such as the classification of finite simple groups or the 4-colour-theorem or Fermat's Last Theorem, I won't recommend that you read and digest the full proof. On the other hand, if you find some self-published pdf pamphlet with a proof of the Goldbach conjecture, I won't recommend using the result without having checked the proof. But apart from this it is of course most instructive to actually read a proof and get acquainted with ideas even if you may have to skim over details too far from your own area, and I agree with you that a theorem with proof you understood just feels better when using it. Also,you may get better awareness about some obscure or easily overlooked necessary conditions and why they are needed (just think of applying a theorem that states "For every function $f$ ..." / "For every vector space $V$ ..." to a general situation you have in mind and you forget to notice that the author writes that he deals only with analytic functions or finite dimensional vector spaces over fields of characteristic zero, say, and for the sake of brevity leaves out these important attributes in the rest of the text).
A: I would like to add what in my experience is one very important point to the excellent answer given by user139388. If you pick up a result, use it often and gain experience in how to use it and thus grasp its meaning more and more deeply, you often find one of two things happen (almost certainly the first will happen):


*

*Proofs and expositions that you formerly found impossibly impenetrable will look wonted and much easier. With repeated exposure to the ideas in the result, your mind is much more ready to keep its grip on a complex, overarching structure of an extended result.

*You may wake up one day to find a general idea for how the result might be proven, and, if this happens to you, more often than not it is not too far from the "standard" proofs of the result: an experience that is really satisfying insofar that you really begin to feel that there is a deep Platonic reality to mathematics! - "my mind came up with the 'natural' way to look at this idea all on its own"!
My natural tendency is to want to understand things before I use them: something which I think in principle would be admirable if our lifespan were 5000 years. But it can waste a great deal of time: particularly if you have the experience in my point 1. above: "you'll ask yourself why did I waste $x$ days, weeks, months of my limited life on that!?"
I often compare mathematics to computer code and software design and I have cut many hundreds of thousands, if not millions, of lines of the latter in my life (indeed I recently read of the automated theorem prover Isabelle used to prove the soundness of an operating system, see[1]). Most computer code I find impenetrable unless I am forced to look at it in detail. And I find this a really, really hard slog. But if a message, method or procedure has a well defined, well crafted signature, then that is all I need to make it work well. And I certainly don't think of myself as incapable in designing and writing complex code.
[1]: Klein G; Andronick J; Elphinstone KJ; Heiser GA; Cock D; Philip D; Elkaduwe D; Engelhardt K; Kolanski R; Norrish M; Sewell T; Tuch H; Winwood S, 2010, 'seL4: formal verification of an operating-system kernel', Communications of the ACM, vol. 53, no. 6, pp. 107 - 115, http://dx.doi.org/10.1145/1743546.1743574
A: If the theorem is a well-established result that lots of people have looked at, go ahead and use it without understanding it. If it's just been published in an obscure math journal, you should keep in mind that there is the remote possibility that it's incorrect. Using incorrect theorems is generally not a good idea.   
