Sự khác biệt chính: PUSH là khi một mục nhập được "đẩy lên" ngăn xếp. POP là khi mục được đẩy cuối cùng được "bật ra" ngăn xếp.
Một ngăn xếp là một cấu trúc dữ liệu bị hạn chế, bởi vì chỉ có một số lượng nhỏ các hoạt động được thực hiện trên nó. Một ngăn xếp được đặt tên do khả năng đặt các mục nhập dữ liệu riêng lẻ trong một ngăn xếp, giống như một chồng sách. Mục đầu tiên nằm ở dưới cùng và các mục tương ứng được đặt ở trên cùng của mục đầu tiên. Tuy nhiên, nếu một cái gì đó từ giữa hoặc dưới cùng của ngăn xếp cần được truy cập, thì mọi thứ trên đầu mục đó phải được xóa trước, trước khi có quyền truy cập vào mục. Kiểu sắp xếp này được gọi là LIFO (Lần vào trước, Lần ra đầu tiên).
Hai hoạt động cơ bản chính liên quan đến một ngăn xếp là các hàm PUSH và POP. Hàm POP đôi khi cũng được gọi là PULL. Về cơ bản, thao tác PUSH thêm một mục mới vào đầu ngăn xếp hoặc khởi tạo ngăn xếp nếu nó trống. Mặt khác, hoạt động POP sẽ xóa một mục khỏi đỉnh ngăn xếp. Một cửa sổ bật lên tiết lộ các mục được che giấu trước đó hoặc dẫn đến một ngăn xếp trống.
Bản chất của các hoạt động PUSH và POP cũng có nghĩa là các phần tử ngăn xếp có thứ tự tự nhiên. Các phần tử được loại bỏ khỏi ngăn xếp theo thứ tự ngược lại với thứ tự bổ sung của chúng. Điều này biểu thị rằng các phần tử thấp hơn đã ở trên ngăn xếp lâu hơn; do đó, yếu tố thấp nhất đã ở đó lâu nhất. Các yếu tố trên cùng là các yếu tố mới hơn.