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, or other personality traits 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". Also, acknowledging that Real Dreams Are Weirder than the other kind helps a lot.