In class a few days ago, somebody said, "Mathematicians aren't afraid of failure. If one method doesn't work out, we just try another." This assumingly inconsequential comment stuck with me and as I thought about it more and more, it became clear to me that this is one of the reasons that I am good at math; I try and try again. In fact, it's a defining feature of people who are good at problem solving. First you try to understand the problem and find connections to things you already understand. Then you try to solve the original problem by using methods that have solved or helped the related concepts. If it works, great, you're done! Usually though, it doesn't work on the first try. This results in returning to the beginning to make sure you fully understand the problem or can find different connections that might work. Then we try these new connections (repeating the first connections is by definition insane, since they didn't work the first time). Hopefully the second time works, but if not, no worries, we just return to the beginning and try again.
This is exactly how I go about solving a math problem. (I actually think solving a math problem is easier than a real life problem because mathematical properties do not change, so I can completely rule out any connection that did not work.) I've found from tutoring college math students that there are two main pitfalls of problem solving: (1) Not establishing correct connections, and (2) Becoming frustrated and failing to go back to the beginning when one attempt has failed. The first problem could be corrected by a variety of things like studying and attempting similar problems. The second pitfall is a result of lack of confidence and perseverance. A mathematician's confidence is not docked by failing to solve one problem because they have solved tons and tons of problems in their lifetime, so not understanding one is not bad. They also know that not every problem that they've solved has been accomplished on the first try. For a student who has not had a lot of experience solving math problems, failing to solve one problem may seem overwhelming. They will probably attribute it to not knowing anything, when really they might have just missed that one important connection that would solve the problem. When student's don't believe that they can solve a problem just by reevaluating their method, they quickly give up and do not attempt the problem again.
A particular student who I have worked with a few times in the university Math Center comes to mind whenever I think of perseverance. Every time he has a new question, I approach him and he says, "I have this problem, but I don't know how to do it." I try to probe a bit deeper to see if he actually does know, but won't admit it, but he's adamant that he has no idea how to start solving the problem. One day we were working on log problems and he went through the usual routine of saying he doesn't know how to solve any of the problems and my probing led to a sequence of incorrect attempts at solving the problem. So I took him through a few examples and pointed out where he can use regular algebra to get the log alone, and from there I helped him understand why we can switch from an equation with a log to an equation with an exponent. So we did a few more problems and every time he started to say, "I don't know what to do next," I said, yes you do, look at the other problems, the methods are all related. Finally after going through about four problems he started picking up the sequence of steps and recognizing when we can convert the log to an exponential function and vice versa. By the end, he tried two slightly different problems in a row with no help from me and did them perfectly! It really showed me that his need to understand the material (even if it was only to get a good grade) pushed him to persevere even though he initially did not believe in himself and truly did not know where to begin to solve a problem. Once I made sure he understood the foundations of the problems and built his confidence by walking him through the problems while I slowly turned the decision making over to him, he truly had a transformation in his attitude and his skill with logs.
So there you have it, the big difference between mathematicians and non-mathematicians. Mathematicians have a bigger repertoire of things they can attempt in order to solve a problem (reasonable, since they have more practice) and the knowledge that not everything can be solved on the first attempt. In my opinion, these two things are not completely out of reach to non-mathematicians. All you need is experience and confidence. A good memory doesn't hurt either.