An interesting thread. As a former teacher, I know that different people learn in different ways - visual, auditory, tactile, etc. I also know it depends on the attention span of the student as to how long (s)he can stay "on task" before losing concentration and becoming bored, so that factors in as to what works best. My personal method of improving means spending time re-playing the game without time pressure.
As Martin_Stahl outlines above, using a stronger player or chess engine can give you alternate variations that you may have completely missed. I use the UCI to input the moves quickly, generating a PGN of the game from my scoresheet with no analysis. Then I set up a chessboard on a small table along side of my computer and replay the game on the board, following along on the computer until I reach a position of question. I study the board while the computer is turned on to analyze with no time limit. When I have spent what is a reasonable amount of time over the board, I then turn to check the computer analysis and variation which I may or may not play through on-screen, depending on its inherent interest. The board stays set up according to the original game position and I can return the on-screen position to match the board with a single click of the mouse. For me, for some reason, I seem to see things differently (and better?) using a board than I do on-screen. Perhaps this will change with more practice, but it is a consideration. If on the other hand, your play is online and on-screen, then you may not profit from board analysis.
When I played tournament chess years ago, I used to make notes in the margin on my scorepad of alternative moves that looked interesting that I passed up in favor of the move actually made. I even had a personal code I used that the opponent looking at my pad wouldn't be able to use to discern my thought process. Then, after the game, I would play the game over and analyze on a board. Admittedly, this was in the days of Chessmaster and Sargon II. Today's UCI's are wonderful for analysis.
You might consider looking at one of the Chessbase products such as Fritz 13 which I just purchased. In addition to the common UCI features such as automatic move recording and analysis of "best move", it also contains features such as suggesting a move, explanation of all possible moves, brief strategic description of the position, and various other tutoring functions. These can be turned on/off of depending on what you're trying to learn. I think these features are much stronger in the commercial versions I looked at as compared to the freeware. Ultimately, however, I just use the power of the engine to check my analysis and look for the best move(s) in a position; and any good combination such as SCID vs. PC and Houdini 1.5a or Fritz 13 allow you to install and use multiple engines simultaneously and compare results.
Also of value is playing over games from players of different styles. This can give you a look into differences in positional vs. attack lines. I play over annotated master games and compare the annotations to the chess engine in tricky positions. The level of annotation varies greatly from very verbose basic theory to subtle alternative lines that may be above my level of understanding, so find several authors who write at your level and seek them out. Remember that today's chess engines are stronger than any author writing annotations, and there may well be flaws in their understanding and analysis and/or in the engine (though not likely).
From your initial post, you seem to be playing quick games online rather than tournament play. I think there are two ways to improve under those conditions: First, I would adapt several openings for white and black and stick with lines you know to avoid blunders. If the Ruy (for example) becomes boring after a while, learn one new opening or a variation you haven't played. Learn what the initial tactical intent of the opening is and play over master games to see how that is implemented.
Second, play over lots and lots of games including your own. If you don't spend a lot of time in real time analysis, you need to learn positions and combinations that recur and learn to recognize threats quickly.
Ultimately, however, it is not the power of the engine, as virtually all chess engines today are stronger than we are and provide better moves in most positions (endgames being a potential exception depending on the tablebase being used). The value of a commercial UCI such as Fritz is that it can be tailored to tutor according to your needs and contains features mostly (but not completely) lacking in freeware UCI's which are predominately PGN readers and positional analysis programs. But they cost money and may not do what you want, so be careful.
I add the game i played move by move into Fritz with just the "explain all moves" and i also write it down on my chess journal.
When Fritz suggests that the move i played it's really weak i add his variation and on the paper i try to explain in words the whys.
I find it more useful and I have also more fun.
That sounds really interesting.
I will try it.