Kad god kupujemo softver za naša računala, uvijek želimo onaj koji ima većinu funkcija koje su već uključene. Ali često je problem sa softverom ili onaj koji nema ispravne funkcije koje tražite ili imaju previše funkcija da je nemoguće brzo pronaći onu koju tražite. Kako bi prilagodili izgled i osjećaj svojih programa, proizvođači softvera dozvolili su upotrebu dodataka ili dodataka.
Plug-in i Add-on su dva pojma koji upućuju na istu funkcionalnost; oni su jednostavno proširenje koje proširuje upotrebljivost programa. To ovisi o proizvođaču softvera o tome kako nazvati programske ekstenzije svojih programa. Ova proširenja mogu napraviti druga poduzeća, pojedinci ili sami proizvođači softvera.
Plug-in je pojam koji se obično koristi kada se odnosi na softver treće strane koji je namijenjen interakciji s određenim programom. Uzmimo za primjer svoj web preglednik; za reprodukciju videozapisa morate instalirati dodatak koji se zove flash player. Flash player nije izvorno niti u jednom pregledniku, ali u potpunosti ga je napravila zasebna tvrtka. Kompatibilan je i sa svim popularnim web preglednicima poput IE, Firefox i Opera.
Dodatak također proširuje funkcionalnost određenog programa, ali oni obično trebaju funkcionirati na određenom programu. Uzimajući web preglednik za usporedbu, dodaci koji su namijenjeni Firefoxu funkcionirali bi samo s Firefoxom, a isto bi vrijedili i za ostale preglednike. To obično nisu potpuno ispuhani softveri, već su to jednostavno dijelovi koda koji možete koristiti za izmjenu sučelja. Najčešći dodaci za preglednike su alatne trake koje zauzimaju malo više prostora i omogućuju trenutne prečace do određenih mrežnih usluga. Dodaci su također vrlo istaknuti u mrežnim igrama poput World of Warcraft, gdje igrači koji imaju malo znanja mogu stvoriti vlastite dodatke kako bi pomogli drugim igračima.
Razdvajanje između dodatka i dodatka zapravo i nije tako jasno. Oboje su napravljeni za obavljanje određenih funkcija koje su prilagođene određenim preferencijama korisnika. Primarni razlog zašto ti kodovi nisu ugrađeni u program na prvom mjestu je taj što oni zapravo nisu toliko bitni i dok bi neki ljudi mogli cijeniti to, drugi možda i ne smatraju smetnjom. To su ujedno alati koje proizvođač softvera može upotrijebiti da motivira članove svoje zajednice da se uključe u poboljšanje softvera.