How should one go about obtaining "mathematical maturity"? 
tl;dr: Is mathematical maturity better obtained by doing hard subjects slightly out of your reach, or by doing more simple subjects to gain experience?

The end of the semester is close, and I have to pick my subjects for the fall. Being a freshman, I decided to do Abstract Algebra two semesters early, seeing as it seemed to fall closer to my interests. I am not able to clearly define what my mathematical interests are yet, but I start to see a trend where I prefer subjects that use a lot of discrete structures etc, while I tend to dislike subjects that forces me to memorize a lot of formulas, often omitting proofs, claiming we are to go more rigorously through them in future courses. (This was very much the case with HS-math and Calc 1, where in HS one simply memorized methods, we learned it a bit more rigorously in Calc 1, making it a very pleasant experience.)
I am doing fairly well in Abstract Algebra. Now, I do have the option of doing Commutative Algebra next semester. When I asked my professor about it, I was told that "while Abstract Algebra is the only course that works as a direct preparation for Commutative Algebra, the latter subject requires quite a lot of mathematical maturity."
Next semester the subjects Real Analysis and Calc 3 are mandatory for my degree. A third subject is optional (mandatory to have a third subject, which is optional), and I am wavering between Statistics, Discrete Mathematics and Commutative Algebra. I am already familiar with the most of the curriculum in Discrete Mathematics. Should I do Statistics to gain more "width" in my mathematical knowledge, or should I do Discrete Mathematics, which is more closely related to what I want to do in the future? Or should I go with Commutative Algebra, where I am confident my true interest lies?
 A: There is an old apocryphal quote from von Neumann: "Young man, in mathematics, you don't understand the concepts, you just get used to them."
It's not that bad, but there's a measure of truth in what he said. As you study more stuff, it all starts to make more sense: the new material sheds light on the old.
Much of your question asks for rather specific advice about what course you should take; not knowing you personally, I won't venture an answer. I'll just say a bit about your title question.
I think there are two aspects to mathematical maturity. One is just an increasing function of how much math you've read. Some is not even that specific to the subject area. Proof-writing has its own (mostly unwritten) conventions; you will surely find that your experience in abstract algebra helps with real analysis. Some basic concepts show up almost everywhere, like equivalence relations.
The other aspect is getting used to your own personal style of learning, and with time you will focus on what works for you and try to avoid what doesn't.
Example: when I was younger, I tended to stop after a reading a proof if it didn't "click"; I would mull it over for days before proceeding. I now find it's more efficient to keep reading, skim ahead, and try consulting other treatments.
Another example, more technical: given an equivalence relation on a algebraic structure, we often have a choice of (1) working with the elements of the quotient structure; (2) working with the equivalence relation; (3) work with representative elements of the equivalence classes. For example, say $N$ is a normal subgroup of $G$. We can write $(aN)(bN)=cN$ (equation between elements of $G/N$), or $ab\equiv c\mod N$ (think in terms of congruence mod $N$), or pick elements $a\in aN$, $b\in bN$, and $c\in cN$ (representative elements), and write the equation as $ab=cn, n\in N$. Depending on what you're doing, you might find one or another of these approaches more useful or just more congenial to your own mathematical style.
Final comment on commutative algebra, specifically: two of the big historical sources of the subject were algebraic geometry and algebraic number theory; algebraic geometry, in turn, has its roots in ordinary analytical geometry and also the theory of Riemann surfaces. Sometimes even a casual skimming of the historical roots can make stuff more understandable and less "just get used to it". I for one found the concepts of localization, and the ramification of prime ideals, much more intuitive when I learned how these come out of the theory of Riemann surface.
A: To gain mathematical maturity, I think you should work on both new stuff (that you might find quite challenging) and also old stuff (which is usually easier). Good ideas feed off each other given a half a chance.
When learning new stuff, it is often good to seek out ideas that unify and/or clarify what you already know. The following subjects are overflowing with such ideas, and come highly recommended:


*

*set theory,

*order theory,

*category theory

*universal algebra


Once you've done this for a while and wearied of it, go back and reprove some old results. Reprove that the kernel of a ring homomorphism is an ideal. Maybe do it in more generality this time; do it for semiring homomorphisms between semirings (the proof is no harder in this case.) Then maybe reprove that the sum of two linear transformations is itself a linear transformation. Etc. Every so often you will rediscover a new idea; you will notice that the true reason why the sum of linear transforms is itself linear is because $(x+y)+(x'+y') = (x+x')+(y+y')$. So you jump online and ask about such structures, and someone who currently knows more than you do mentions medial magmas and commutative algebraic theories. So you follow those links and lo and behold! New ideas! And they're connected to the category theory that you're already studying. In mathematics, there are many, many connections. A game you've got to constantly play is: can I understand more concepts using fewer ideas?
You should mainly work on stuff you find interesting.
Also, when old, familiar ideas aren't 100% clear, it is often the case that you need to invent new ways of looking at things, which happily are often special cases of much more general ideas that are already well-known. That's fine; this is how understanding is gained.
I'll leave you with a quote from Halmos:

Don't just read it; fight it! Ask your own question, look for your own
  examples, dicover your own proofs. Is the hypothesis necessary? Is the
  converse true? What happens in the classical special case? What about
  the degenerate cases? Where does the proof use the hypothesis?

When you do math this way, mathematical maturity ends up "just happening". Yes, its a struggle, but the struggle is for clarity of thought and simplicity of understanding; the maturity you get for free, as a kind of by-product.
