Czasami określane jako elephantware, bloatware jest powszechnie rozumiane jako odnoszące się do oprogramowania, które zajmuje znaczną ilość miejsca na dysku twardym, ale jest używane rzadko lub wcale przez typowego użytkownika. Zasadniczo koncepcja polega na tym, że dodatkowe oprogramowanie zajmuje miejsce na dysku twardym, które można wykorzystać do bardziej produktywnych aplikacji, powodując przeciążenie lub rozdęcie dysku przez stosunkowo bezużyteczne pliki i programy. Ogólnie rzecz biorąc, bloatware jest dołączone do funkcji programów, które są regularnie używane, co utrudnia przeciętnemu użytkownikowi usunięcie dodatków z dysku twardego bez wpływu na działanie pożądanych funkcji.
Jednym z problemów związanych z próbą określenia, co stanowi nadużywanie oprogramowania, jest fakt, że te dodatkowe funkcje mogą nie być atrakcyjne dla jednego sektora rynku użytkowników, ale są bardzo atrakcyjne dla innego sektora. Dlatego to, co niektórzy uważają za nadprogramowe oprogramowanie, jest wysoko cenione i regularnie wykorzystywane przez innych. To sprawia, że definiowanie nadprogramów z perspektywy konsumenta jest nieco subiektywne.
Aby znaleźć szczęśliwy środek, niektórzy producenci oprogramowania postanowili ustrukturyzować aplikacje w sposób, który pozwala użytkownikowi końcowemu nie instalować dodatkowych funkcji podczas pierwszego ładowania programu. Wszystkie niezbędne pliki i protokoły wymagane do uruchomienia podstaw aplikacji są zawarte w głównym segmencie procesu instalacji. Te dodatki, czasami nazywane wtyczkami, można obejść i nie zainstalować, jeśli konsument nie widzi potrzeby korzystania z tych funkcji. Do pewnego stopnia pomogło to złagodzić krytyków, którzy twierdzą, że producenci oprogramowania celowo ładują dodatkowe funkcje do nowszych wersji starszego oprogramowania, gdy podstawowe funkcje pozostają takie same jak wcześniej.
Zaletą radzenia sobie z występowaniem bloatware przez tworzenie wtyczek jest to, że jeśli użytkownik końcowy stwierdzi w późniejszym terminie, że dana dodatkowa funkcja jest pożądana, po prostu ładuje dysk z oprogramowaniem, wywołuje żądaną wtyczkę i dodaje go do plików zapisanych na dysku twardym. Należy jednak zauważyć, że konfiguracja niektórych programów wymaga od użytkownika końcowego nadpisania całego programu w celu dodania wtyczek z dysku. Chociaż może to zająć trochę więcej czasu, wielu uważa, że to podejście jest nadal lepsze niż konieczność ładowania dodatków w celu korzystania z podstawowych funkcji aplikacji.