Why do we need stacks when we already have so many data structures that can also handle managing data in reverse directions [linked list & vectors]?
What's so useful/distinctive about stacks that other data structures don't have?  

Also, why are only arrays and linked lists compatible with stacks, why arent vectors compatible with stacks?