Also (in addition to being used for fades and palette-based animations), consider that the colour at palette index 0 is always treated as transparent, meaning it isn't displayed. You can't disable that, even if you don't need it. As a result, a sprite can only display 3 out of the 4 shades. If you want a sprite to seem like it is using all four shades, it needs to be displayed on top of a solid background. That isn't possible in most cases (where your sprites are appearing on top of background tiles, or even other sprites), so you do need to use the palette to pick which 3 shades work best for the sprite.
This limitation actually also applies to the GBC, it's just that you have 32,768 choices for the other three palette indexes instead of 4, and you also get to use 8 different palettes (for sprites) instead of the 2 palettes the DMG could pick from.
I think some games on the GBC cheated by changing the colour palettes during hblanks, though?