Amikor szoftvereket vásárolunk számítógépünkhöz, mindig azt akarjuk, amelyik a legtöbb szolgáltatással rendelkezik, amelyek már megtalálhatók. De gyakran a szoftverrel kapcsolatos probléma az, hogy nem rendelkeznek a megfelelő funkciókkal, amelyeket keres, vagy túl sok olyan funkcióval rendelkeznek, hogy lehetetlen megtalálni azt, amelyet gyorsan keres. Programjaik megjelenésének és megjelenésének testreszabása érdekében a szoftvergyártók engedélyeztek plug-inek vagy kiegészítők használatát.
A plug-in és a kiegészítő két kifejezés, amelyek ugyanazon funkcióra mutatnak; egyszerűen kiterjesztések, amelyek kiterjesztik a program használhatóságát. Csak attól függ, hogy a szoftvergyártó hogyan hívja meg a programjainak kiterjesztését. Ezeket a kiterjesztéseket más vállalatok, magánszemélyek vagy maguk a szoftvergyártók is megtehetik.
A plug-in az a kifejezés, amelyet általában akkor használnak, ha harmadik fél szoftverére utal, amelynek célja egy adott programmal való interakció. Vegyük például a webböngészőt; a videók lejátszásához telepítenie kell egy Flash Player nevű plug-in-t. A Flash Player nem honos egyetlen böngészőnél sem, hanem egy különálló cég készíti. Kompatibilis az összes olyan népszerű webböngészővel, mint például az IE, a Firefox és az Opera.
Az Add-on egy bizonyos program funkcionalitását is kiterjeszti, de általában egy adott programban való működésre szánták őket. Ha összehasonlítjuk a webböngészőt, akkor a Firefoxnak szánt kiegészítők csak a Firefox-szal működnek, és más böngészők esetében is. Ezek általában nem teljes méretű szoftver, hanem egyszerűen olyan kóddarabok, amelyek segítségével módosíthatja az interfészt. A böngészők leggyakoribb kiegészítői az eszköztárak, amelyek kissé több helyet foglalnak el, és azonnali hivatkozásokat kínálnak egyes online szolgáltatásokhoz. A kiegészítők szintén kiemelkedő szerepet játszanak az olyan online játékokban, mint a World of Warcraft, ahol a kis ismeretekkel rendelkező játékosok saját kiegészítőket hozhatnak létre, hogy segítsenek más játékosoknak..
A kiegészítő és a plug-in közötti különbség nem igazán egyértelmű. Mindkettő olyan funkciókat hajt végre, amelyek egy adott felhasználó preferenciáinak megfelelnek. Az elsődleges ok, amiért ezeket a kódokat nem épül be a programba, az az, hogy valójában nem annyira nélkülözhetetlenek, és bár egyesek valószínűleg értékelik ezt, mások nem, és kellemetlennek találják. Ezek olyan eszközök, amelyeket egy szoftvergyártó felhasználhat arra, hogy ösztönözze közösségének tagjait a szoftver fejlesztésében való részvételre.