This is a perennial question at LingQ and elsewhere. Here is my take on it.

The first rule of language learning is to do what you like to do. This way you are more likely to continue, and put in enough time.

Having said that, I strongly recommend not staying with one lesson until you feel you have mastered it, and can remember all the vocabulary. I find that some words will stick, and others won’t no matter what you do. I find that some, if not most, new patterns in the langue are simply not possible for us to absorb until we have had lots of exposure. Trying to master these things is, in my opinion, very inefficient. It is far better to keep moving on, getting as much exposure as you can. I move on when I understand 70% and sometimes as little as 50%. I review my vocabulary a few times before and after a lesson, especially in the beginning, but I don’t worry about the words that just wont stick. If you keep listening and reading, you will come across them again and eventually they will stick.

I think the desire to nail things down is what holds most people back in language learning. It is simply too difficult to do, and I believe contrary to how the brain learns. The result is that many learners get frustrated at what they cannot remember. I am driven more by the desire to cover more and more content, and by the desire to get to authentic content as soon as I can.

I think there is a balance to be struck between repetition, which the brain needs in order to form new neural connections, and novelty, which the brain needs in order to remain focused and motivated.

I believe that Krashen has even done research to show that deliberate instruction in grammar has little effect on learning. I don’t necessarily agree, but feel that you need a lot of exposure, experience and familiarity with a language before the grammar explanations have much effect, beyond of course the most basic concepts.