In plain English, it moves bits from one location to another, but instead of moving all of them, it moves only ones you want to move, depending on which ones you hide (mask).
Uses vary, but I've used them when I have an 16 input card that contains a binary coded decimal on four of the inputs, and the other inputs are unrelated sensors. I use the MVM to move the BCD information into a separate file to use later in the program.
Edit:
I think I might have just done someone's homework without thinking