So I've actually never cared much for release parties. I think because by that point the work is 'done', and I'm ready to move on. Plus, if upper management is involved, it feels very parasitical ("let me attach myself to this launch"), and if they aren't it feels unnecessary (we know we did a good job). And the timing is always problematic; if it's literally as we release it feels disingenuous just knowing that if anything goes wrong the team has to step away from any sort of party (but not upper management, or others who glommed on), and if it's after the fact I've mentally moved on.
That said, all the other things are must haves, not just because of morale but because of effectiveness. Things don't get done without definitions of done, things don't get proper feedback and iteration without demos, etc.