A stack has two principle operations, Push, which inserts elements to the existing stack, and Pop, which returns the most recent item and deletes it from the stack. It is a First-In-Last-Out (FILO) structure. An additional operation is Top/Peek, which returns the most recent item without removing it. Common applications of Stack includes backtracking and recursion support.