For reference I am using Blender version 2.79 on Linux.
I have a large cylinder without end caps...2160 rectangles. I am manually selecting certain faces and then created Vertex Group. I can then deselect or select the group as expected.
Then I went to change the selection by removing some of the faces...then assign to the same Vertex Group name. When I go to select (I have previously hit assign with a few different faces from the original) the changes are not honored...it reverts back to the set which was originally there prior to the edits. Assign will never alter this group after the first assign. Is this expected? Shouldn't I be able to edit my selection and hit the assign again? FYI, I have not locked or assigned weights.
I discovered a workaround...just prior to editing I select, remove what is there (everything...the group is now empty), make edits, and then assign (if I forget to hit assign I will lose everything and the group will start over empty). Now if I select the correct faces/vertices show up. Is this workaround a result of some behavior which is expected, or is it a bug?