Bất cứ khi nào chúng tôi mua phần mềm cho máy tính của mình, chúng tôi luôn muốn phần mềm có nhiều tính năng nhất đã được bao gồm. Nhưng thông thường, vấn đề với phần mềm là chúng không có các chức năng phù hợp mà bạn đang tìm kiếm hoặc chúng có quá nhiều tính năng mà không thể tìm thấy cái mà bạn đang tìm kiếm một cách nhanh chóng. Để tùy chỉnh giao diện chương trình của họ, các nhà sản xuất phần mềm đã cho phép sử dụng trình cắm hoặc tiện ích bổ sung.
Plug-in và Add-on là hai thuật ngữ được trỏ đến cùng một chức năng; chúng chỉ đơn giản là các phần mở rộng giúp mở rộng khả năng sử dụng của chương trình. Nó chỉ phụ thuộc vào nhà sản xuất phần mềm về những gì cần gọi là phần mở rộng phần mềm của chương trình của họ. Các phần mở rộng này có thể được thực hiện bởi các công ty, cá nhân khác hoặc bởi chính các nhà sản xuất phần mềm.
Plug-in là thuật ngữ thường được sử dụng khi đề cập đến phần mềm của bên thứ ba có nghĩa là tương tác với một chương trình nhất định. Lấy ví dụ trình duyệt web của bạn; bạn sẽ cần cài đặt một trình cắm flash được gọi là trình phát flash để phát video. Flash player không có nguồn gốc từ bất kỳ trình duyệt nào nhưng được tạo bởi một công ty riêng biệt. Nó cũng tương thích với tất cả các trình duyệt web phổ biến như IE, Firefox và Opera.
Một tiện ích bổ sung cũng mở rộng chức năng của một chương trình nhất định nhưng chúng thường có nghĩa là hoạt động trên một chương trình nhất định. Lấy trình duyệt web để so sánh, các tiện ích bổ sung dành cho Firefox sẽ chỉ hoạt động với Firefox và các trình duyệt khác cũng vậy. Đây thường không phải là phần mềm thổi toàn bộ mà chỉ đơn giản là những đoạn mã mà bạn có thể sử dụng để sửa đổi giao diện. Các tiện ích bổ sung phổ biến nhất cho trình duyệt là các thanh công cụ chiếm thêm một chút dung lượng và cung cấp cho bạn các phím tắt tức thì cho các dịch vụ trực tuyến nhất định. Tiện ích bổ sung cũng rất nổi bật trong các trò chơi trực tuyến như World of Warcraft, nơi những người chơi có một chút bí quyết có thể tạo ra các tiện ích bổ sung của riêng mình để giúp đỡ những người chơi khác.
Sự tách biệt giữa một bổ trợ và một bổ trợ không thực sự rõ ràng. Cả hai đều được tạo ra để thực hiện các chức năng cụ thể phù hợp với sở thích của người dùng nhất định. Lý do chính tại sao các mã này không được nhúng vào chương trình ngay từ đầu là vì chúng không thực sự cần thiết và trong khi một số người có thể đánh giá cao việc đó, thì những người khác có thể không thấy phiền toái. Đây cũng là những công cụ mà một nhà sản xuất phần mềm có thể sử dụng để thúc đẩy các thành viên trong cộng đồng của họ tham gia vào việc cải thiện phần mềm.