Ah vocabulary. One of the most tedious things in the foreign language classroom. At the end of the day it is pure memorization. The hard part is making the memorization easier on the kids.
An awesome way to reinforce vocabulary, I have found, is what I like to call "living vocabulary". Living can go in more than one direction depending on how you look at it. As a verb, it can be that students are living their vocabulary. As an adjective, the living describes the vocabulary: it's alive.
Living vocabulary is applying vocabulary to real life in some way. Rather than seeing photos or doing flashcards, students match the vocabulary to the actual thing.
For example, my French 1s are currently learning about classroom vocabulary. One day they walked in the room and there were letters everywhere attached to different items. They spent the hour walking around the room and identifying each object.
Another example would be with my French 2s. They are working on body parts and daily routine. They are given different labels that talk about body parts (les oreilles, le ventre, la jambe, etc) and had to attach it correctly to their partner.
Doing a unit on housing? Make them label different rooms and items in their house with post-its (or something that will stick) and keep them labeled for a week. Food unit? Find some plastic food and keep it on hand. Make them pick a piece out of the box and tell you what it is.
By associating vocabulary to it's actual item, vocabulary comes alive for students and they are able to better retain it.