There are a few reasons to use All Just A Dream plot that won't lead to people shouting "CHEAT" at the author.
- Character Development, showing us hidden anxieties, hopes, and fears that drive the dreamer.
- A setup/justification for a Bizarro Episode.
- A setup/justification for a full episode Out-of-Genre Experience. (Note that this one works best if it's known going in that it's a dream.)
- A Dream Walker / Dream Weaver / Dream Stealer plot.
Note that setups that explain beforehand that the dream in question is a dream also cut down on people yelling "CHEAT". And that acknowledging Real Dreams Are Weirder
helps a lot.