I am very lazy about vocabulary. Luckily I learn a lot of words just by looking at them or using them once or twice, especially words I am interested in for some reason or other (= liking their sound or etymology, or because I need them to speak about something that's interesting to me).
Usually I also acquire a good passive knowledge of many words just by reading, reading, reading The words I learn best are those I have never looked up in a dictionary but just come across again and again and understood out of context at some point.
With Icelandic and Lithuanian, I have sometimes tried and learned vocabulary by the good old-fashioned method of writing word lists and memorizing them. I've found that this only really works if I have a chance to use these words in a real life context soon after - e.g. in conversation or in writing a text, etc. Otherwise I'll just keep them in my short-term-memory and after a week or so without repetition, they'll be gone again. So this is really a waste of time for me.
The old-fashioned word lists do work for me with ancient languages, like Ancient Greek, where you just learn vocabulary in one direction. But if it's about a modern language, where the most important point is memorizing words and phrases in the language, I haven't found the perfect method yet. I think what's best for me is just using the language as much as possibly (passively, for input, as well as actively, for training) so that important words get repeated again and again and somehow stick.
I'm always far better with grammar...