View Stack is to handle different MXML file eg TAB control and states is the transition WITHIN single MXML file.
ViewStack should be used were there is complete change in the controls used and States should be used when you just want to ADD or remove a few COMPONENTS based on certain CONDITIONS.
ViewStates are virtual state of an existing PAGE apearing at an instance i.e. only one state can be shown at a time
while viewStack are collection of different view containers which can be shown at a time