One of my favorite articles is The Fun of Pros and Cons (http://www.chesscafe.com/text/heisman94.pdf), where I begin with a set of key observations:
"● If you want to be a better player, you have to make better moves.
● If you want to make better moves, you have to make better
decisions about the moves you play.
● If you want to make better decisions, you have to at least compare
different moves to see how good they are (based on your
evaluation of the positions resulting from those moves).
● If you want to compare different moves, you can’t just consider
one move or idea."
Most of the non-advanced students I teach begin with the misconception that they can play relatively quickly and, by reading books to acquire knowledge and applying more general principles, they can slowly improve toward expert and master level. While it is true you can improve from beginner toward intermediate this way, at some point you have to face the fact that many positions require careful analysis to find good moves.
The skills required for that careful analysis are not developed by learning more about openings or endgames, but rather by playing many long-time control games, making many, many moves very slowly and carefully, and learning and practicing the various sub-skills involved in analysis. These sub-skills include visualization (the ability to keep track of the pieces as you move them around in your head), the ability to identify pertinent candidate moves, criticality assessment (recognizing which positions more likely affect the possible outcome), and the ability to know when the analysis is finished (such as avoiding quiesent errors or its cousin, analyzing too far with no relevance). I discuss these in articles such as Improving Analysis Skills (http://www.chesscafe.com/text/heisman45.pdf), Bootstrapping Analysis Skills (http://www.chesscafe.com/text/heisman89.pdf), and Analysis Tips (http://www.chesscafe.com/text/heisman139.pdf).
The other big skill to develop is evaluation, which is looking at a position to determine which side is better, how much better, and why. When finding chess moves you need to analyze to arrive at possible candidate positions, and then evaluate to see how good these positions are. The combination of these skills helps you in your "move goal", which is to play the best move you can in a reasonable amount of time.
Only by carefully making moves this way thousands of times can you improve your skills. Of course, sometimes practicing this analysis with a strong player or listening to them analyze is a key method for improvement, so players with access to such friends or helpers have a big advantage.
In any case, just picking up opening and endgame knowledge, sprinkled with some good guidelines will only carry you so far. As one player tweeted to me (I paraphrase): "Dan, you finally convinced me. I now realize that, in order to become a good player, at some point I am going to have to learn how to slow down and analyze carefully - do the hard work when necessary; picking up more chess knowledge is not enough."
He's right - there's no magic involved, but to "Hand-Wave" (pick your moves in analytical positions by using principles and knowledge, rather than using slow and careful analysis) all your moves, as you might do if you are in the habit of playing Fast and Intermediate Time Controls (see http://www.chesscafe.com/text/heisman115.pdf), will slow if not stop your progress indefinitely.
Hit a wall in your progress? This might be why. The other main reason you might hit a wall is playing Hope Chess: not consistently checking to see if your move is safe, i.e., can be defeated by an opponent reply of a check, capture, or threat that cannot be met. See http://www.chesscafe.com/text/heisman10.pdf.