For engagement, one thing that works from me is telling people before the demo/presentation that you'd like them each to share their "feedback" afterwards. But, replace "feedback" with a very specific thing that makes sense for the situation.
So, let's say the demo is on a specific feature, then you might preface the demo by saying this is the way that you decided to solve the problem, but you want to hear from everyone on how you could have done it differently.
That gives people the cue to be actively engaged by putting them between the problem and the solution. It also gives them fair warning that you're going to call on them afterwords, so it gives them time to think of something that they won't feel embarrassed to say (some people need time to be creative, while others think about alternatives and questions on the fly).
Either way, if people aren't speaking up then they might not be engaged. That doesn't mean they weren't listening, it just means they don't know why they are there. Maybe it really is a waste of their time, or maybe they just think it's a waste of their time because they don't understand the expectations or purpose.
My dad was a successful executive and he gave me several pieces of advice when I joined the workforce. I think #2 fits in this case, "Expectations are to people, what oil is to an engine".