– What? How can code "smell"??
– Well it doesn't have a nose... but it definitely can stink!
Bloaters are code, methods and classes that have increased to such gargantuan proportions that they are hard to work with. Usually these smells do not crop up right away, rather they accumulate over time as the program evolves (and especially when nobody makes an effort to eradicate them).
All these smells are incomplete or incorrect application of object-oriented programming principles.
These smells mean that if you need to change something in one place in your code, you have to make many changes in other places too. Program development becomes much more complicated and expensive as a result.
A dispensable is something pointless and unneeded whose absence would make the code cleaner, more efficient and easier to understand.