There are two contradictory drivers here:
You absolutely should protect your IP, it's important (and by IP I don't mean patents - they're protected anyway), I mean the hard won knowledge that you have that you might be able to sum up in a side of A4 but would take someone else a couple of months to work out how to do so don't really want to give away for free
Many people don't like signing legal documents, it puts them on edge and makes them feel uncomfortable
The first question you should ask is "do I even need one"? If you're demoing a system which is detailed on your web site what exactly are they seeing which isn't public knowledge? Similarly if you're building something custom for them what knowledge do you have which you're looking to protect? And if there is something does it really need protecting? Is it really something that smart people couldn't figure out pretty easily themselves?
To put this in context I've worked at places where the management were hell bent on protecting the system but we knew full well that our competitors had seen it and had all our user guides. In that sort of situation you may not be wild about others seeing stuff but is it realistic and achievable to do so?
If you believe there is something there to protect, because of point 2 I certainly wouldn't look to put something in place prior to a first meeting of the sort you describe unless it's completely unavoidable (say they've demanded a demo of that specific thing), instead, tailor your presentation to avoid those areas (or to cover them only at a high level) until you've properly gauged their interest level and then raise it.
Then based on how the first meeting goes and what's been discussed, bring it up at the end of the meeting as part of a next steps saying that it's something you'd like in place to protect both parties (remember their requirements are likely to highlight key elements of their business) as you move to discussing more detailed issues and solutions.
Alternatively you may feel that it's something that you don't need in place until the contract is signed in which case you can just include an appropriate clause in there and avoid the issue altogether.
And remember as and when you do want one it will take time to put in place - people generally don't sign them, they'll want time to check it out, maybe get their legal people to look at it and so on. As this is the case if you want it in place for a meeting I'd start things moving a couple of weeks before the meeting to make sure it gets sorted in time.