A series of screenshots is a better way to give a product demo than a live demonstration of your product. You can control the flow better, skip the boring bits (logging in, etc.), and eliminate technology risk.

Many demos are a list of features: the user can do this, the user can do this, the user can do this. That is pretty boring. A better way to give a demo is to invent a story, or use a real life case example.

Set up the context, with some images. Put up the questions/issues the user has, and show how your product can solve them. Throughout the demo, stick to the same use case, use the same consistent data set.

Demos can be stories to.